Foros del Web » Programando para Internet » PHP »

Notice: Undefined variable:

Estas en el tema de Notice: Undefined variable: en el foro de PHP en Foros del Web. Hola, he buscado , leido y releido, vuelto a bucar y no encuentro nada convincente!! Por lo que he entendido hay que definir la variables ...
  #1 (permalink)  
Antiguo 10/10/2009, 18:04
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Notice: Undefined variable:

Hola, he buscado , leido y releido, vuelto a bucar y no encuentro nada convincente!! Por lo que he entendido hay que definir la variables de nuevo porque el servidor no tiene las variables globales activadas o algo asi jeje , otros dicen que tengo que ir al php.ini y cambiarle una linea alli "que por cierto no me funciono xD"

Cuando abro el archivo insertar.php me aparecen

Cita:
Notice: Undefined variable: nick in C:\wamp\www\SS\insertar.php on line 7

Notice: Undefined variable: password in C:\wamp\www\SS\insertar.php on line 7

Notice: Undefined variable: nombre in C:\wamp\www\SS\insertar.php on line 7

Notice: Undefined variable: email in C:\wamp\www\SS\insertar.php on line 7
Y si intento guardar el formulario me lo graba todo en blanco

aqui os pongo mi codigo y decidme si veis algun error o que diantres pasa

Este archivo es el insertar.php
Código PHP:
<?php require('config.php') ;

$insertar mysql_query("INSERT INTO usuarios (nick,password,nombre,email)
VALUES ('$nick','$password','$nombre','$email')"
);

mysql_close($con);
?>

<form action="insertar.php" method="post">
Nick : 
<input type="text" name="nick" size=20 maxlength=20 id="nick"><BR>
Email: 
<input type="text" name="email" size=28 maxlength=100 id="email"><BR>
Password: 
<input type="password" name="password" size=28 maxlength=20 id="password"><BR>
Nombre: 
<input type="text" name="nombre" size=28 maxlength=255 id="nombre"><BR>

<input type="submit" CLASS="boton" VALUE="Registrar">
</form>
Saludos y gracias
  #2 (permalink)  
Antiguo 10/10/2009, 18:19
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Notice: Undefined variable:

eso es porque aintenta con esto
Código php:
Ver original
  1. if(!empty($_POST['nick'] ) && !empty($_POST['password'] && !empty($_POST['nombre']&& !empty($_POST['email']) ){//verificamos que no esten vacios los campos
  2. $insertar = mysql_query("INSERT INTO usuarios (nick,password,nombre,email)
  3. VALUES ('$nick','$password','$nombre','$email')");
  4. }else{
  5. //aqui el código del formulario
  6. }
tendrás que adaptarlo esto es solo una idea
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 10/10/2009, 18:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Notice: Undefined variable:

Lo coloque asi pero siguen los problemas, si coloco el formulario dentro del else{ } me dice parce error y si lo coloco fuera al darle al boton para enviar el formulario me vuelve con el error del principio

Adjunto codigo modificado

Código PHP:
<?php require('config.php') ;

if(!empty(
$_POST['nick']) && !empty($_POST['password']) && !empty($_POST['nombre'])&& !empty($_POST['email'])){//verificamos que no esten vacios los campos
$insertar mysql_query("INSERT INTO usuarios (nick,password,nombre,email)
VALUES ('$nick','$password','$nombre','$email')"
);
}else{

<
form action="insertar.php" method="post">
Nick 
<
input type="text" name="nick" size=20 maxlength=20 id="nick"><BR>
Email
<
input type="text" name="email" size=28 maxlength=100 id="email"><BR>
Password
<
input type="password" name="password" size=28 maxlength=20 id="password"><BR>
Nombre
<
input type="text" name="nombre" size=28 maxlength=255 id="nombre"><BR>

<
input type="submit" CLASS="boton" VALUE="Registrar">
</
form>

}
?>
  #4 (permalink)  
Antiguo 10/10/2009, 19:08
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Notice: Undefined variable:

Jajaja
porque tienes que hacerlo así amigo:

Código PHP:
<?php require('config.php') ;

if(!empty(
$_POST['nick']) && !empty($_POST['password']) && !empty($_POST['nombre'])&& !empty($_POST['email'])){//verificamos que no esten vacios los campos
$insertar mysql_query("INSERT INTO usuarios (nick,password,nombre,email)
VALUES ('$nick','$password','$nombre','$email')"
);
}else{
?>

<form action="insertar.php" method="post">
Nick : 
<input type="text" name="nick" size=20 maxlength=20 id="nick"><BR>
Email: 
<input type="text" name="email" size=28 maxlength=100 id="email"><BR>
Password: 
<input type="password" name="password" size=28 maxlength=20 id="password"><BR>
Nombre: 
<input type="text" name="nombre" size=28 maxlength=255 id="nombre"><BR>

<input type="submit" CLASS="boton" VALUE="Registrar">
</form>

<?PHP
}
?>
  #5 (permalink)  
Antiguo 10/10/2009, 19:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Notice: Undefined variable:

kirst pues no!! me sigue dando el mismo error al enviar el formulario!!
  #6 (permalink)  
Antiguo 10/10/2009, 22:16
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Notice: Undefined variable:

el código que muestras es el mismo de insertar.php??
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 11/10/2009, 05:36
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Notice: Undefined variable:

Cita:
Iniciado por eits Ver Mensaje
el código que muestras es el mismo de insertar.php??
Si la accion del formulario y el formulario estan en el archivo insertar.php pero los he provado colocando el formulario en un archivo y la accion en otro y sigue igual!!
  #8 (permalink)  
Antiguo 11/10/2009, 13:59
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Notice: Undefined variable:

prueba con esto
Código php:
Ver original
  1. if(!empty($_POST['nick']) && !empty($_POST['password']) && !empty($_POST['nombre'])&& !empty($_POST['email'])){//verificamos que no esten vacios los campos
  2. $nick=$_POST['nick'];
  3. $password=$_POST['password'];
  4. $nombre=$_POST['nombre'];
  5. $email=$_POST['email'];
  6. $insertar = mysql_query("INSERT INTO usuarios (nick,password,nombre,email)
  7. VALUES ('$nick','$password','$nombre','$email')");
  8. }else{
  9.  //aqui ya sabes
  10. }
si ese es todo tu código, pues hace falta el resto de la conexión a la base de datos.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #9 (permalink)  
Antiguo 11/10/2009, 17:10
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Notice: Undefined variable:

eits te quiero jaja

esa era mas o menos la idea que me habia hecho cuando lei que habia que redefinir las variables pero la verdad no tenia ni idea de como!! Muchas gracias ya me funciona

Una cosa en el final del else yo lo puse asi
Código PHP:
}else{
}
?> 
tu cuando decias "aqui ya sabes" entre el else te referias a poner el formulario dentro? porque si es asi no me va!!

Saludos!!
  #10 (permalink)  
Antiguo 12/10/2009, 10:34
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Notice: Undefined variable:

si, me referia al formulario pero hay que hacerlo como dice kirst, auenque en tu caso puedes excluir el else para que siempre muestre el formulario.

saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 20:58.