Buenos Dias. Mirad, me pasa lo siguiente.
En un script, si pongo esto:
if (!$prueba)
echo hola;
else
echo adios;
Me devuelve esto
Notice: Undefined variable: prueba in C:\Archivos de programa\Programas\EasyPHP 3.0\www\probando.php on line 5
hola
Y si pongo esto
$prueba = "texto";
if (!$prueba)
echo "hola";
else
echo "adios";
Me devuelve adios.
La pregunta es, porque me devuelve error la primera declaracion si, como yo lo entiendo, le estoy diciendo que me evalue si existe una variable me diga hola o adios?. Es mas, si esto lo hago con Isset, no me devuelve error en ninguno de los casos, tanto si la variable existe o si no, me devuelve hola o adios, pero nunca un mensaje de error.
Todo esto viene a que, me encuentro por ahí muchos scripts de mucha gente, que usa ! para evaluar si existe una variable, pero como a mi siempre me da error en el caso de que no exista, tengo que usar isset, por lo que o cambio todos los !, o no me vale el script.
Supongo que estoy equivocado en algo, pero no se en que. A ver si alguien me lo puede explicar. Gracias.