Foros del Web » Programando para Internet » PHP »

Notice: Undefined variable: ven

Estas en el tema de Notice: Undefined variable: ven en el foro de PHP en Foros del Web. Notice: Undefined variable: ven in c:\apache\apache\htdocs\taxi\insertar_servicio.php on line 5 Mando unas variables atraves de un form en hmtl y cuando las ejecuto en mi php ...
  #1 (permalink)  
Antiguo 09/02/2004, 17:51
 
Fecha de Ingreso: abril-2003
Mensajes: 93
Antigüedad: 14 años, 7 meses
Puntos: 0
Notice: Undefined variable: ven

Notice: Undefined variable: ven in c:\apache\apache\htdocs\taxi\insertar_servicio.php on line 5


Mando unas variables atraves de un form en hmtl y cuando las ejecuto en mi php me da este error.
Aki os mando el codigo que las ejecuta
Soy muuuuuy nuevo en esto pero tengo ilusion asi que creo que algo puedo hacer con vuestra ayuda.
Gracias

<?php

$db = mysql_connect("localhost", "root");
mysql_select_db("taxi",$db);
$sql = "Insert Into servicios (Nombre, DEscripcion, Ventajas, Modocontrato) Values('$nom', '$des', '$ven', '$cont')";
$result = mysql_query($sql);


header("Location: listado_servicio.php");
?>
  #2 (permalink)  
Antiguo 09/02/2004, 18:08
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 14 años
Puntos: 1
$db = mysql_connect("localhost", "root","contraseña");

Hola, debes indicar la contraseña de tu servidor php. Venga espero que te sirva de ayuda y saludos. Sigue aprendiendo que eso es bueno.
  #3 (permalink)  
Antiguo 09/02/2004, 21:34
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
independientemente de la contraseña, el error es mostrado por que no has definido la variable $ven que usas en tu insert. Me llego a suceder cuando cambié de versión de php. No estoy seguro de que versión en adelante, los datos recibidos deben especificar su método, POST, GET.... si los recibes del formulario, antes de insertar $ven o cualquier otra variable recibida, has lo soguiente:
$ven = $_POST['ven'];
o bien, en tu insert:
insert into tabla values(null,'$_POST[ven]'....
saludos
  #4 (permalink)  
Antiguo 09/02/2004, 21:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En teoría deberías hacer la comprobación de que si existen tus variables que propagas desde otro script (formulario, link .. etc en metodos POST/GET y/o GET respectivamente) usando las funciones de isset() y/o emtpy():

Código PHP:
if (!empty($_POST['ven'])){ // "si no está vacio" 
//usas $_POST['ven']

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 09/02/2004, 22:52
 
Fecha de Ingreso: noviembre-2003
Ubicación: Monterrey, MEXICO
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Supercoco:

cuando estes desarrollando asegurate que en tu php.ini tengas:

error_reporting = E_ALL
register_globals = Off

La primera es para que PHP sea pedante y te marque todos los errores.
La segunda para que tengas que usar $_POST y $_GET.

Por otro lado, cuando vayas a construir un query te recomiendo que lo hagas asi:

Código PHP:
$query  " SELECT %s, %s ";
$query .= " FROM %s ";
$query .= " WHERE campo=%s";
$query sprintf($query'campo1''campo2''tabla''valor'); 
Mucho mas tardado, pero el tiempo invertido lo recuperarás en el primer momento que tengas que debuggear.

Nota como dejo espacio al principio y al final de cada string.
__________________
www.edmz.org

Última edición por edmz; 09/02/2004 a las 22:53
  #6 (permalink)  
Antiguo 10/02/2004, 02:28
 
Fecha de Ingreso: abril-2003
Mensajes: 93
Antigüedad: 14 años, 7 meses
Puntos: 0
Perdona EDMZ pero me puedes explicar para que sirve esto que me das?
A los demas gracias, mando mis formularios por post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.