Ayuda How to fix ‘Notice: Undefined index:’ en PHP

Hola gente, seguramente muchos ya habrán tenido este error cuando desarrollaban sus páginas en PHP, si nunca tuvieron es puede ser por tres razones.
1. Por que tienen mucha suerte
2. Por que aun no trabajan con $_GET, $_REQUEST y $_POST, o
3. Por que son capos y ya saben solucionar el problema, (si sos el N° 3 no creo que te sea muy útil por lo menos este articulo, pero igualmente gracias por visitar).

Yo estoy entre el número 2 y 3, y acá les dejo una fácil solución para este error.

El error suele ocurrir cuando usamos un $_GET, $_REQUEST o $_POST y cualquiera de estos aun no es enviado, generalmente estos problemas solo nos muestran cuando estamos trabajando en forma local cuando subimos nuestro código al servidor esto ya no sucede.

Casos de uso 1

Cuando enviamos vía $_POST en este caso solo un input con el nombre “nombre”, primeramente preguntamos si existe el $_POST[‘nombre’], y si existe metemos dentro de una variable.

<code><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$_POST</span><span class="pun">[</span><span class="str">'nombre'</span><span class="pun">])){</span><span class="pln">
    $nombre </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'nombre'</span><span class="pun">];</span>
<span class="pun">}</span>
<span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$nombre</span><span class="pun">)){</span><span class="pln"> 
    echo $nombre</span><span class="pun">;</span>
<span class="pun">}</span></code>

Caso de uso 2

En este caso es cuando enviamos via $_GET, el caso es prácticamente lo mismo pero generalmente en en estos casos que nos da el error, pues si preguntamos si existe el $_GET[‘nombre’], nos da el error que no esta definido el index.

<code><span class="kwd">if</span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$_GET</span><span class="pun">[</span><span class="str">'nombre'</span><span class="pun">])){</span><span class="pln">
    $nombre </span><span class="pun">=</span><span class="pln"> $_GET</span><span class="pun">[</span><span class="str">'nombre'</span><span class="pun">];</span>
<span class="pun">}</span>

//TAMBIEN PARA LOS $_REQUEST

if(isset($_REQUEST['accion'])){
  //Realizar la accion
}</code>

Para solucionar en todos los casos este error podemos declararlo directamente antes que llame, para esto hacemos lo siguiente.

$_REQUEST['accion'] = false; // esto seria en el caso de que no exista.

Espero que les haya servido.

1781 Visto 2 Hoy

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *