Foros del Web » Programando para Internet » PHP »

Problema con variables php 5.3.8

Estas en el tema de Problema con variables php 5.3.8 en el foro de PHP en Foros del Web. Ante todo un saludo a todos los usuarios de esta comunidad. El problema es el siguiente: Hace un par de dias cambien la version que ...
  #1 (permalink)  
Antiguo 13/01/2012, 13:13
 
Fecha de Ingreso: noviembre-2011
Ubicación: Zulia/Maracaibo
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Problema con variables php 5.3.8

Ante todo un saludo a todos los usuarios de esta comunidad.

El problema es el siguiente: Hace un par de dias cambien la version que tenia de php la cual era la 5.3.1 a la mas reciente 5.3.8, y ahora cuando declaro variables salen estos errores:
Notice: Undefined index: nombre in C:\xampp\htdocs\ejemplo\prueba.php on line 2.

Notice: Undefined index: correo in C:\xampp\htdocs\ejemplo\prueba.php on line 3.

Aqui les dejo este ejemplo de prueba el cual arroja los errores ya mencionados para ver si pueden ayudarme, de antemano se los agradezco..!

Código PHP:
Ver original
  1. <?php
  2. $n=$_REQUEST['nombre'];
  3. $c=$_REQUEST['correo'];
  4.  
  5. if(isset($_REQUEST['ok'])){
  6. echo "El nombre es: ".$n."<br/>";
  7. echo "El correo es: ".$c;
  8. }
  9. ?>

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Prueba</title>
  5. </head>
  6.  
  7. <form id="form1" name="form1" method="post" action="">
  8.   <p>Nombre:
  9.     <input type="text" name="nombre" value=""/>
  10. </p>
  11.   <p>
  12.     <label>Correo:
  13.     <input type="text" name="correo" value=""/>
  14.     </label>
  15.     <input type="submit" name="ok" value="Enviar" />
  16. </p>
  17. </form>
  18. </body>
  19. </html>
  #2 (permalink)  
Antiguo 13/01/2012, 13:17
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: Problema con variables php 5.3.8

que tal si lo pruebas asi?

Código PHP:
Ver original
  1. $n=$_POST['nombre'];
  2. $c=$_POST['correo'];
  3.  
  4. if(isset($_POST['ok'])){
  5. echo "El nombre es: ".$n."<br/>";
  6. echo "El correo es: ".$c;
  7. }

Ya que tu formulario envias por method post y si mas no recuerdo REQUEST se envia con method get

Saludos..
  #3 (permalink)  
Antiguo 13/01/2012, 13:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Problema con variables php 5.3.8

Hola.

Recuerdas mal, porque $_REQUEST vale tanto para post como para get.

El problema es que en el action del form no tiene nada.

Un saludo.
  #4 (permalink)  
Antiguo 13/01/2012, 13:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con variables php 5.3.8

El problema es otro, y aquí se explica:
http://www.forosdelweb.com/f18/undef...riable-923992/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/01/2012, 13:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Problema con variables php 5.3.8

Estoy de acuerdo, pero si el formulario no lo envia a ningun, las variables nunca van a existir. Con isset, lo que conseguirá es que no le salga el error, pero nada mas, nunca va a poder usar esas variables.
  #6 (permalink)  
Antiguo 13/01/2012, 14:03
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
Respuesta: Problema con variables php 5.3.8

No es más facil corregir el error_reporting del php.ini para corregirlo?
  #7 (permalink)  
Antiguo 13/01/2012, 14:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con variables php 5.3.8

Cita:
Iniciado por lado2mx Ver Mensaje
No es más facil corregir el error_reporting del php.ini para corregirlo?
Si te refieres a ocultar dichos warnings estás muy equivocado, esa no es una solución muy profesional que digamos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 13/01/2012, 14:13
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
Respuesta: Problema con variables php 5.3.8

No no no, hay opción para ocultar los E_NOTICE y no los E_WARNINGS que esos si se necesitan.
  #9 (permalink)  
Antiguo 13/01/2012, 14:22
 
Fecha de Ingreso: noviembre-2011
Ubicación: Zulia/Maracaibo
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con variables php 5.3.8

Gracias a todos por responder..!

Pero por que en esta version de php arroja ese Notice y en la anterior no..? eso es lo que no entiendo, es decir que de aqui en adelante hay que verificar si existen las variables o no?
Disculpen mi ignorancia..!
  #10 (permalink)  
Antiguo 13/01/2012, 14:27
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
Respuesta: Problema con variables php 5.3.8

Si revisas php.net, puedes revisar un error que se estuvo corrigiendo, llamado max_input_vars, se trata de regular un número de variables que se pueden poner mediante $_GET, $_POST o $_FILES y que hacian factible a ciertas páginas sobrecargar al servidor, incluso (paranoicamente hablando) podian causar ataques DDoS
  #11 (permalink)  
Antiguo 13/01/2012, 15:01
 
Fecha de Ingreso: noviembre-2011
Ubicación: Zulia/Maracaibo
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con variables php 5.3.8

Entonces como puedo hacer para declarar esas variables para que no arroje ese Notice..! Cual seria la mejor manera de usar $_GET,$_POST o $_RESQUEST, yo probé colocandoles el @ pero no creo que sea la mejor solución, algo me dice que no lo es..!

Gracias..!
  #12 (permalink)  
Antiguo 13/01/2012, 15:03
 
Fecha de Ingreso: noviembre-2011
Ubicación: Zulia/Maracaibo
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con variables php 5.3.8

Cita:
Iniciado por lado2mx Ver Mensaje
Si revisas php.net, puedes revisar un error que se estuvo corrigiendo, llamado max_input_vars, se trata de regular un número de variables que se pueden poner mediante $_GET, $_POST o $_FILES y que hacian factible a ciertas páginas sobrecargar al servidor, incluso (paranoicamente hablando) podian causar ataques DDoS
Entonces como puedo hacer para declarar esas variables para que no arroje ese Notice..! Cual seria la mejor manera de usar $_GET,$_POST o $_RESQUEST, yo probé colocandoles el @ pero no creo que sea la mejor solución, algo me dice que no lo es..!

Gracias..!
  #13 (permalink)  
Antiguo 13/01/2012, 15:11
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
Respuesta: Problema con variables php 5.3.8

La mejor forma en tu php.ini es esta:

error_reporting=E_ALL & ~E_NOTICE & ~E_DEPRECATED
  #14 (permalink)  
Antiguo 13/01/2012, 16:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema con variables php 5.3.8

Arroja los NOTICE porque estas tratando de accesar a variables que no existen, ya que esas variables existen hasta que envías las variables por POST, y la primera vez que entras a la pagina es por GET.

De hecho @lado2mx, ocultar los NOTICE es una mala práctica, ya que PHP te esta indicando el error por algo, es un error que tienes que corregir en programación, no simplemente ocultando el error, es como si usaras @ para ocultar el error.

Saludos.
  #15 (permalink)  
Antiguo 13/01/2012, 16:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Problema con variables php 5.3.8

Y si me lo permites, GatorV, cuando hay un error, es por algo y no se puede obviar, ya que tarde o temprano sale.

Un saludo.
  #16 (permalink)  
Antiguo 13/01/2012, 16:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema con variables php 5.3.8

La mejor forma de comprobar es checando que el request sea POST:
Código PHP:
Ver original
  1. if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
  2.        $nombre = (isset($_POST['nombre']) ? $_POST['nombre'] : null;
  3.        if (empty($nombre)) {
  4.                trigger_error("El nombre no puede estar vacio", E_USER_ERROR);
  5.        }
  6. }

Saludos.
  #17 (permalink)  
Antiguo 14/01/2012, 00:21
 
Fecha de Ingreso: septiembre-2009
Ubicación: Tacna, Perú
Mensajes: 14
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con variables php 5.3.8

Hola aesu,

Te cuento que acabo de correr tu ejemplo de prueba en mi servidor local y el único error de tu ejemplo es (como menciono AitorLopez) el no colocar nada en la propiedad del action en tu form.

Después de haber corregido eso todo me funciona, no tengo ninguna warning, notice, ni nada por el estilo, y lo más raro es que tengo la misma versión PHP (3.5.8) que tu tienes...
  #18 (permalink)  
Antiguo 14/01/2012, 10:55
 
Fecha de Ingreso: noviembre-2011
Ubicación: Zulia/Maracaibo
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con variables php 5.3.8

Gracias a todos por sus comentarios, mi duda ya esta aclarada..!
Saludos a todos..!

Etiquetas: html, variables, usuarios
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 22:37.