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
if(strlen($name)==0)
{
$tip = "visitante";
}
else
{
$tip = $name;
}
echo "bienvenido ".$tip;
¿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
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
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
Entonces con !isset($nombre)
no es necesario, lo probé con
if(strlen($name)==0)
{
$tip = "visitante";
}
else
{
$tip = $name;
}
echo "bienvenido ".$tip;
y funciona exactamente como quería. Gracias a los dos