Foros del Web » Programando para Internet » PHP »

error Undefinid index ???

Estas en el tema de error Undefinid index ??? en el foro de PHP en Foros del Web. me sale un error de la linea 3 ( en negrita ) de este codigo y no entiendo porque es este error, intento hacer un ...
  #1 (permalink)  
Antiguo 30/01/2012, 14:59
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
error Undefinid index ???

me sale un error de la linea 3 ( en negrita ) de este codigo y no entiendo porque es este error, intento hacer un captcha, y el error es el siguiente:

Código PHP:
NoticeUndefined indexenviar in C:/wamp/www/miweb/www.php on line 3 
Código PHP:
<?php
session_start
();
[
B]if($_POST['enviar']=="ok") {[/B]
   
    
$captcha_recogido filter_var($_POST['valores_captcha'], FILTER_SANITIZE_STRINGFILTER_FLAG_STRIP_HIGH);
    
// CONVERTIMOS EN MAYUSCULAS
    
$captcha_recogido strtoupper($captcha_recogido);
    if(empty(
$captcha_recogido)) {
        echo 
"<strong>Debes introducir los caracteres en rojo que aparecen en la imagen.</strong>";
    }else{
        if(
$captcha_recogido==$_SESSION['captcha']['red']) {
         
            echo 
"<strong>El formulario ha sido procesado.</strong>";
        }else{
            echo 
"<strong>Los caracteres introducidos no coinciden con los de la imagen. Inténtalo otra vez.</strong>";
        }
    }
}
?>

Última edición por jonysi_d; 30/01/2012 a las 15:06
  #2 (permalink)  
Antiguo 30/01/2012, 15:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: error Undefinid index ???

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

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/01/2012, 15:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: error Undefinid index ???

si entiendo la teorica, pero no entiendo porque me da este error, pongo el form para que veais que esta predefinido el valor:

Código PHP:
<input name="enviar" type="submit" value="ok" /> 
  #4 (permalink)  
Antiguo 30/01/2012, 16:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: error Undefinid index ???

[QUOTE=jonysi_d;4106022]si entiendo la teorica, pero no entiendo porque me da este error, pongo el form para que veais que esta predefinido el valor:[QUOTE]

EMMM

Solo tienes en el if la verificacion si es igual a ok pero si no lo es yo aria otro else para verificar que no llego

o añade un empty o isset antes de comparar para ver si existe o no

Código PHP:
Ver original
  1. <?php
  2. if($_POST['enviar']=="ok") {
  3.    
  4.     $captcha_recogido = filter_var($_POST['valores_captcha'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
  5.     // CONVERTIMOS EN MAYUSCULAS
  6.     $captcha_recogido = strtoupper($captcha_recogido);
  7.     if(empty($captcha_recogido)) {
  8.         echo "<strong>Debes introducir los caracteres en rojo que aparecen en la imagen.</strong>";
  9.     }else{
  10.         if($captcha_recogido==$_SESSION['captcha']['red']) {
  11.          
  12.             echo "<strong>El formulario ha sido procesado.</strong>";
  13.         }else{
  14.             echo "<strong>Los caracteres introducidos no coinciden con los de la imagen. Inténtalo otra vez.</strong>";
  15.         }
  16.     }
  17.  
  18. }else{
  19.  
  20. echo'la variable post no llego o no coincide con el resultado ok';
  21.  
  22. }
?>

Última edición por webankenovi; 30/01/2012 a las 16:23
  #5 (permalink)  
Antiguo 30/01/2012, 16:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: error Undefinid index ???

Cita:
Iniciado por jonysi_d Ver Mensaje
si entiendo la teorica, pero no entiendo porque me da este error, pongo el form para que veais que esta predefinido el valor:

Código PHP:
<input name="enviar" type="submit" value="ok" /> 
No has leído el tema que te sugerí, ¿verdad?

Si, defines dicho campo en tu formulario, pero sólo existe en el script de php cuando se envía dicho formulario.

Si no haces el envío previamente jamás existirá tal variable, ese es tu error.

Usar una variable deliberadamente "creyendo" que existe cuando no lo es, ¿solución?

Como comentamos en el tema que no has querido leer, hay que comprobar en primer lugar las variables antes de usarlas.
Código PHP:
if ( isset($_POST['enviar']) && ($_POST['enviar'] === 'ok')) {
  
// OK...

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: formulario, index
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 11:32.