Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: MasterPunk en 21 Noviembre 2009, 15:55 pm



Título: Problema
Publicado por: MasterPunk en 21 Noviembre 2009, 15:55 pm
Hola, estaba practicando lo que voy aprendiendo de php (poco de momento) y me ha surgido un problema:
Intento que en la página haya un cuadro de texto en el que el visitante pueda introducir su nombre. Si ho lace que la página mueste el mensaje "Hola nombre" y en el caso de que no lo haga, o aún no lo haya hecho que muestre "Hola visitante".
Este es el código que puse:
Citar
if($name!=0) {
   echo "Hola ".$name;
    }
else {
   echo "Hola visitante";
    }
(siendo $name el nombre introducido en el formulario)
El problema es que al introducir el nombre sigue poniendo "visitante"

¿Que hago mal?
¿Como lo podria solucionar?

(Creo que tiene facil respuesta =) )

Saludos


Título: Re: Problema
Publicado por: Hadess_inf en 21 Noviembre 2009, 15:58 pm
Código
  1. if(strlen($name)==0)
  2. {
  3.    $tip = "visitante";
  4. }
  5. else
  6. {
  7.     $tip = $name;
  8. }
  9.  
  10. echo "bienvenido ".$tip;


Título: Re: Problema
Publicado por: Kasi en 21 Noviembre 2009, 16:00 pm
¿Como asignas el valor a $nombre, lo recoges desde $_REQUEST , $_POST o $_GET ?
¿Has comprobado que $nombre contiene algún valor?

Haz un
Código:
echo $nombre para comprobar si $nombre tiene algo

Aun así, la manera de preguntar que usas para saber si $nombre tiene algo no correcta, prueba con la función empty() , o en su defecto preguntando si $nombre = "" , que seria mas apropiado puesto que lo que tu estas preguntando es en caso de que $nombre tuviera un número como valor.

Un saludo


Título: Re: Problema
Publicado por: MasterPunk en 21 Noviembre 2009, 16:05 pm
¿Como asignas el valor a $nombre, lo recoges desde $_REQUEST , $_POST o $_GET ?

Lo recojo desde $_POST


Título: Re: Problema
Publicado por: Nakp en 21 Noviembre 2009, 17:26 pm
null es 0 en php? en realidad no xD

ahora.. si pasas por post... debe ir desde un formulario.. para mientras prueba por get y recoge desde la url :P


Título: Re: Problema
Publicado por: Hadess_inf en 21 Noviembre 2009, 18:09 pm
Entonces con !isset($nombre)


Título: Re: Problema
Publicado por: MasterPunk en 21 Noviembre 2009, 18:13 pm
no es necesario, lo probé con
Código
  1. if(strlen($name)==0)
  2. {
  3.    $tip = "visitante";
  4. }
  5. else
  6. {
  7.     $tip = $name;
  8. }
  9.  
  10. echo "bienvenido ".$tip;

y funciona exactamente como quería. Gracias a los dos