Autor Tema: undefined index Problema con $_POST: primeros pasos con PHP usando formularios  (Leído 24680 veces)

ojodegato

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Acabo de empezar a estudiar PHP y llevo días sin avanzar por un problema. Al enviar un formulario (simple, para iniciarme), obtengo un error al llamar a la página php que se supone recoge el formulario. Dice "undefined index", me entero de que eso quiere decir que no reconoce la variable, pero no veo cómo resolverlo. El código de la página html es:

<form>
<action="prueba1.php" method="POST">
<input name="dato" type="text" /><br />
<input type="submit" value="ok" />
</form>

El codigo de la php es:

<?php
echo $_POST["dato"];
?>

También he leido que las register globals deben estar en off, y que eso podría ser el problema pero que también es inseguro activarlas y que con la variable predefinida $_POST["dato"], debería bastar.

He instalado XAMMP y el localhost funciona bien al mostrar el comando echo, osea que no es mi servidor.

Os agradezco mucho cualquier sugerencia, estoy estancada porque no puedo ver los ejercicios de formularios en los que estoy.

Saludos desde México a España, mi tierra ;)
« Última modificación: 12 de Octubre 2016, 14:19 por Ogramar »

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #1 en: 22 de Junio 2012, 10:25 »
Hola Eva, si no me equivoco tienes un error pues estás poniendo el action como si fuera una etiqueta cuando no es así, es decir, tú has escrito:

<form>
<action="prueba1.php" method="POST">


Cuando debías haber escrito:

<form action="prueba1.php" method="POST">

Mírate la entrega CU00829B y siguientes del curso de php: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 yo creo que te ayudarán bastante

Saludos a México !!!


ojodegato

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #2 en: 22 de Junio 2012, 20:43 »
Tienes razón!! Eso es lo mágico de la programación , un par de <> de más y cambia todo..Pero lamentablemente sigo con algún otro problema porque sigue dando error. Probé con la variable var_dump($_POST)  e imprimía en pantalla : array(0){}, o de otro modo var_dump($_POST['dato']---imprime en pantalla:undefined index:NULL
Gracias por la ayuda

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #3 en: 22 de Junio 2012, 21:49 »
Yo creo que aquí tienes un ejemplo claro: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=580:procesar-datos-de-un-formulario-html-en-php-con-post-ejercicios-resueltos-y-ejemplos-cu00831b-&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

<form name="formulario" method="post" action="ejemploPost.php">
Nombre: <input type="text" name="nombre" value="">
<input type="submit" />
</form>

<?php
$nombre = $_POST['nombre'];
echo $nombre;
?>

En tu caso deberías poner

echo $_POST['dato'];

Fíjate que son comillas simples. También te falta poner el name en el form.

ojodegato

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #4 en: 23 de Junio 2012, 03:43 »
Hola Susana, ya resolví el problema, gracias por tu amable colaboración. Pero he tardado poco en meterme en otro atolladero: estoy haciendo un ejercicio en el manejo de arrays y formularios, hecho por Mario Raja, que me encanta como se explica, por no decir la gracia que me hace su acento granaino, el problema es que , como es un poco antiguo, y ha habido cambios en PHP, el uso de GET y POST que explica está obsoleto. Tenemos un formulario en html:
<form action="horario.php" method="post">
<b> Pon el periodo del día:</b>
<input name="periodo" type="text" /><br />
<b>Pon la actividad elegida:</b>
<input name="actividad" type="text" /><br />
<input type="submit" value="ok" />
</form>

y un array php:



$horario=array(
   'mañana'=>array(
      'deporte'=> 'futbol',
      'ocio'=> 'videoconsola'
      ),
   'tarde'=>array(
      'deporte'=> 'baloncesto',
      'ocio'=> 'cine'
      )
   );
Al introducir los datos mañana y ocio en el formulario deberia responder a este script:
echo $horario[$_POST['periodo']][$_POST['actividad']];

imprimiendo en pantalla los datos del array, pero me da error. De hecho, este script lo he sacado de los comentarios del video, porque el original es otro. Te mando el linK:http://www.youtube.com/watch?v=Gj2P3fRwcbo&feature=relmfu
No sé si  me explico bien, gracias por cualquier comentario. Saludos

ojodegato

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #5 en: 23 de Junio 2012, 03:46 »
No se si el vínculo es correcto es :Curso PHP 13: formularios y arrays. Saludos

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #6 en: 23 de Junio 2012, 12:06 »
Si estás trabajando con una versión php que no es compatible me imagino que vas a seguir teniendo problemas. Yo estoy siguiendo el curso de esta propia web y todo me va bien excepto que no tengo tiempo suficiente para estudiar pero cuando logro ponerme avanzo que para mí es lo importante

ojodegato

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Re:Problema con $_POST: primeros pasos
« Respuesta #7 en: 24 de Junio 2012, 01:59 »
Tienes razón, ya lo había pensado . No tiene sentido segur un curso si no está actualizado el contenido. Voy a dar un vistazo al curso que me comentas. Gracias, nos posteamos por el curso de PHP

Sara15

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
Re:Problema con $_POST: primeros pasos con PHP usando formularios
« Respuesta #8 en: 04 de Octubre 2016, 21:17 »
Hola. Este hilo está abierto hace tiempo. Pero estoy teniendo un problema con $_POST.
No me llega ningún valor. El método GET me funciona correctamente, pero el método POST no funciona nada. He mirado el php.ini varias veces, y no encuentro nada extraño, salvo que en phpinfo aparece: _SERVER["REQUEST_METHOD"]   GET
No sé muy bien si guarda relación con que el único método que me funciona es ese.

Conclusión. En un formulario sencillo, con un único valor "nombre" y un submit. Me da error el script PHP al entender que la variable nombre que cojo por el POST está nulo o vacío.

Os pongo el ejemplo:
HTML
<form name="formulario" action="prueba_Post.php" method="post">
    Nombre usuario: <input type="text" name="nombre" /><br />
    <input type="submit" name="submit" value="¡Enviarme!" />
</form>

PHP
<?php
$nombre = $_POST['nombre'];
echo "Hola ".$nombre;
?>

El error que me da es: Notice: Undefined index:

Ya no sé qué hacer. Si alguien pudiera ayudarme.

PD: uso wamp 2.5

Sara15

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 13
    • Ver Perfil
Re:Problema con $_POST: primeros pasos con PHP usando formularios
« Respuesta #9 en: 07 de Octubre 2016, 19:17 »
Ya lo he resuelto. Estaba usando el servidor interno de PhpStorm y no el de Apache. Arreglado este punto, ya me funciona correctamente.
Saludos!!

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Problema con $_POST: primeros pasos con PHP usando formularios
« Respuesta #10 en: 12 de Octubre 2016, 14:19 »
Buenas Sara15, evita responder sobre hilos antiguos. Siempre es preferible crear un hilo nuevo excepto que quieras comentar algo muy específico del hilo abierto. Echale un vistazo a estas indicaciones https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 si no lo has hecho  ;)

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".