Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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:
Citarif($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 (php) [Seleccionar]
if(strlen($name)==0)
{
   $tip = "visitante";
}
else
{
    $tip = $name;
}

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 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
Cita de: Kasi en 21 Noviembre 2009, 16:00 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 (php) [Seleccionar]
if(strlen($name)==0)
{
    $tip = "visitante";
}
else
{
     $tip = $name;
}

echo "bienvenido ".$tip;


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