Autor
|
Tema: Problema con Variables PHP (Leído 16,015 veces)
|
iMarcSpS
Desconectado
Mensajes: 24
|
He creado un formulario vía HTML, haciendo que los datos de esta variable vayan a parar a otro documento llamado saludo.php. Éste es el codigo de los dos documentos, el primero HTML no hay ningun problema, pero al segundo me dice el siguiente error de variables:
Notice: Undefined variable: nombre in C:\xampp\htdocs\saludo.php on line 8
Notice: Undefined variable: apellido in C:\xampp\htdocs\saludo.php on line 8 ¡Bienvenido a la página de antiguos alumnos del colegio maravillas!. Notice: Undefined variable: nacimiento in C:\xampp\htdocs\saludo.php on line 10
Éste es el codigo HTML:
<!- bienvenida.html -> <html> <head> <title>Bienvenida</title> </head> <body bgcolor="#FFFFFF"> <div align="center"> <form action="saludo.php" method="post"> <p> </p> <p><b>Bienvenido a mi página Web</b></p> <form name="form1"> <p>Nombre: <input type="text" name="nombre"><BR></p> <p>Apellido: <input type="text" name="apellido"><BR></p> <p>Año en que naciste: <input type="text" name="nacimiento"><BR></p> <input type="submit" value="enviar"></p> </form> </div> </body> </html>
Y éste es el siguiente codigo PHP:
<!- saludo -> <html> <head> <title>saludo</title> </head> <body> <? echo "¡Bienvenido $nombre $apellido a la página de antiguos alumnos del colegio maravillas!. "; $año = 2012; $edad = $año - $nacimiento; if ( $edad == 33) { echo "Tú y yo fuimos a la misma clase. Porfavor, escríbeme a ricardo@maravillas.com."; } elseif ($edad <=23) { echo " Eres demasiado joven para haber asistido al colegio Maravillas. Lo siento, esta página no es de tu interés."; } elseif ($edad == 34) { echo "Tú y todos los de tu curso siempre fuisteis un atajo de matones. Fuera de mi página inmediatamente!"; } ?> </body> </html>
Gracias
Marc
|
|
|
En línea
|
|
|
|
javirk
Desconectado
Mensajes: 102
|
Hola, los datos de un formulario pasan a la página donde quieres interpretarlos a través de $_POST, de la siguiente manera: $_POST["nombre_campo_de_la_otra_pagina"]
Así, para recuperar los datos que pasas por el formulario tienes que usar eso, en vez de "inventarte" variables: <?php $nombre = $_POST["nombre"]; $apellido = $_POST["apellido"]; echo "¡Bienvenido $nombre $apellido a la página de antiguos alumnos del colegio maravillas!. "; ?>
Un saludo!
|
|
|
En línea
|
|
|
|
iMarcSpS
Desconectado
Mensajes: 24
|
Muchas Gracias ya esta todo Gracias
|
|
« Última modificación: 15 Abril 2012, 16:32 pm por iMarcSpS »
|
En línea
|
|
|
|
iMarcSpS
Desconectado
Mensajes: 24
|
Hola, los datos de un formulario pasan a la página donde quieres interpretarlos a través de $_POST, de la siguiente manera: $_POST["nombre_campo_de_la_otra_pagina"]
Así, para recuperar los datos que pasas por el formulario tienes que usar eso, en vez de "inventarte" variables: <?php $nombre = $_POST["nombre"]; $apellido = $_POST["apellido"]; echo "¡Bienvenido $nombre $apellido a la página de antiguos alumnos del colegio maravillas!. "; ?>
Un saludo! Gracias por el aporte anterior, a proposito tengo otro problema Se trata de un formulario el cual se ingresa el nombre, etc... Y se crea un usuario a la base de datos: <!- alta.php -> <html> <head> <title> Añadir un nuevo alumno </title> </head> <body> <?php if ($submit): $dbcnx = mysql_connect("localhost", "root", "tubititu"); mysql_select_db("alumnos"); $sql = "INSERT INTO alumnos SET mobre = "$nombre", apellido = "$apellido", nacimiento = "$nacimiento", email = "$email" "; if ($mysql_query($sql)) { echo("<p>Alta dada satisfactoriamente</p>"); } else { echo("<p>Error al darse de alta.: " . mysql_error() . "</p>"); } ?> <p><a href="<?=$PHP_SELF?>">Añadir un nuevo alumno.</a></p> <?php else: ?> <form action="<?=$PHP_SELF?>" method="post"> <p>Introduzca sus datos:<br /> Nombre: <input type="text" name="nombre" size="20" maxlength="255" /><br /> Apellido: <input type="text" name="apellido" size="20" maxlength="255" /><br /> Fecha de nacimiento (aaaa/mm/dd): <input type="text" name="nacimiento" size="20" maxlength="255" /><br /> Email: <input type="text" name="email" size="20" maxlength="255" /><br /> <input type="submit" name="submit" value="ALTA" /></p> </form> <?php endif; ?> </body> </html> Y se me muestra el siguiente error, nuevamente de variables Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\alta.php on line 12 Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\alta.php on line 13 Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\alta.php on line 14 Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\alta.php on line 15
|
|
|
En línea
|
|
|
|
javirk
Desconectado
Mensajes: 102
|
Es como lo de antes, ten en cuenta que no puedes poner comillas dobles dentro de otras comillas dobles, si ya tienes dobles, tienes que poner comillas simples: $sql = "INSERT INTO alumnos SET mobre = '$nombre', apellido = '$apellido', nacimiento = $nacimiento, email = '$email' ";
Creo que es por eso, prueba y me dices, porque no he usado nunca lo de SET. Un saludo!
|
|
|
En línea
|
|
|
|
iMarcSpS
Desconectado
Mensajes: 24
|
Es como lo de antes, ten en cuenta que no puedes poner comillas dobles dentro de otras comillas dobles, si ya tienes dobles, tienes que poner comillas simples: $sql = "INSERT INTO alumnos SET mobre = '$nombre', apellido = '$apellido', nacimiento = $nacimiento, email = '$email' ";
Creo que es por eso, prueba y me dices, porque no he usado nunca lo de SET. Un saludo! Sii deacuerdo demomento funciona (El formulario), pero en el codigo: En la linea 8 Me dice lo siguiente: Notice: Undefined variable: submit in C:\xampp\htdocs\alta.php on line 8
|
|
|
En línea
|
|
|
|
EFEX
Desconectado
Mensajes: 1.171
"Dinero Facil"
|
Sii deacuerdo demomento funciona (El formulario), pero en el codigo: if ($submit):
En la linea 8 Me dice lo siguiente: Notice: Undefined variable: submit in C:\xampp\htdocs\alta.php on line 8 Tenes que abrir el corchete, esos dos puntos estan de mas. if ($submit){
|
|
|
En línea
|
|
|
|
satu
Desconectado
Mensajes: 301
Siempre aprendiendo
|
Hola Prueba con: if(!empty($_POST['submit']))
Y quita los dos puntos ( : ) de detrás del if, los de detrás del else y el endif ambién sobra. Recuerda que en PHP los delimitadores son { y } Saludos Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
|
|
|
En línea
|
Breakbeat como forma de vida
|
|
|
iMarcSpS
Desconectado
Mensajes: 24
|
Hola Prueba con: if(!empty($_POST['submit']))
Y quita los dos puntos ( : ) de detrás del if, los de detrás del else y el endif ambién sobra. Recuerda que en PHP los delimitadores son { y } Saludos Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.He quitado los dos puntos , me sale el mismo error en el "else": Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\alta.php on line 24
|
|
|
En línea
|
|
|
|
javirk
Desconectado
Mensajes: 102
|
Hola, Prueba poniendo: }else{
En vez de los dos puntos. Un saludo
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema al recibir dos variables.
Programación Visual Basic
|
ciruit
|
2
|
1,468
|
28 Enero 2006, 18:27 pm
por ciruit
|
|
|
Problema de Variables
Programación Visual Basic
|
Timerlux
|
5
|
2,425
|
21 Junio 2007, 20:41 pm
por Sancho.Mazorka
|
|
|
[Ayuda]Problema con variables
Programación C/C++
|
FrancoMoglia
|
5
|
2,172
|
6 Abril 2016, 18:39 pm
por FrancoMoglia
|
|
|
problema con html y variables
Desarrollo Web
|
ALBO3000
|
0
|
2,010
|
16 Octubre 2017, 03:59 am
por ALBO3000
|
|
|
Problema con variables en mi web
Desarrollo Web
|
extremeño21
|
2
|
1,629
|
23 Julio 2019, 22:46 pm
por @XSStringManolo
|
|