> Faqs > Problemas con el if en PHP

Problemas con el if en PHP

Hola Buenas tardes, haber si alguien puede ayudarme a mejorar este php, soy principiante en php, el problema es que al poner la primera clave me hable la página cliente1 pero con los dos textos detrás de mi texto clave incorrecta clave incorrecta, dos veces. Cuando pongo cliente2 me abre cliente2 pero con el texto de cliente1 y cliente2. Si alguien puede ayudarme o mandarme algún tutorial que pueda seguir. Gracias por todo

<span class="codigo"> <?
If ($pwd="Clave1") {
Include ("cliente1.html");
}else{
Echo "Clave incorrecta";
};
If ($pwd=="clave2") {
Include ("cliente2.html");
}else{
Echo "Clave incorrecta";
};
If ($pwd=="clave3") {
Include ("cliente3.html");
}else{
Echo "Clave incorrecta";
};
?> </span>

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

Hola, primero el = se uriliza solo para asignación, para preguntar debes utilizar == y segundo, tu problema es un problema de estructuración de los ifs, solo hace falta analizar tu código. Supongamos que en $pwd tú mandas "Clave2" lo que hace tu sistema, pasa por la primera pregunta y dice "Clave2" == "Clave1" -$gt; De esto tienes False, así que te imprime "clave incorrecta 1" vez, luego va a la siguiente pregunta y dice "Clave2" == "Clave2" ->True te incluye el archivo, y luego va a la tercera pregunat y dice "Clave2" == "Clave3" ->False, te imprime "clave incorrecta", lo que necesitas es un if Anidado o una estructura Switch, con respecto al tutorial, la misma documentación de php es excelente http://www.php.net/ pero un tutorial de lógica dudo que lo encuentres, lo vas a adquirir con la práctica. Te mando un ejemplo de lo que podrías hacer: <span class="codigo"> <? if ($pwd=="Clave1") { include ("cliente1.html"); }elseif ($pwd=="Clave2"){ include ("cliente2.html"); }elseif ($pwd == "Clave3"){ Include ("cliente3.html"); } else { echo "Clave Incorrecta"; }; ?> O puedes hacer: <?php switch($pwd) { case "Clave1": include\_once("cliente1.html") break; case "Clave2": include\_once("cliente2.html") break; case "Clave3": include\_once("cliente3.html") break; default: echo "Clave incorrecta"; break; } ?> </span> Espero te sirva de ayuda

Cristian Avila Montalvo