Bonjour,
Tout d'abord voici le code :
Mon problème se situe au niveau du "switch" pour le login ...Code:<?php //recupération des identifiants $login = $_POST['login']; $password = $_POST['password']; //initialisation des variables pour la connection à la BDD include("./initialisation.php"); //connection à la BDD $connection = mysql_connect("127.0.0.1",$user,$password_bdd); $db_selected = mysql_select_db($database, $connection); if(!$connection) { //redirection vers la page d'erreur header("Location: http://" . $host . "/site_note/index.php?page=erreur"); } else { //recherche du login saisi $req_verification_login = "select login from internaute where login=\"$login\";"; $verification_login = mysql_query($req_verification_login); while($resultat_verif_login = mysql_fetch_array($verification_login)){ $result_v_l = $resultat_verif_login["login"]; //ici que 2 solutions ... mais le if ne marchait pas ... va savoir pourquoi :o switch($result_v_l){ case $login : //recherche du password associé au login saisi $req_verification_password = "select password from internaute where login=\"$login\";"; $verification_password = mysql_query($req_verification_password); while($resultat_verif_password = mysql_fetch_array($verification_password)){ $result_v_p = $resultat_verif_password["password"]; //ici que 2 solutions ... mais le if ne marchait pas ... va savoir pourquoi :o switch($result_v_p){ case $password : //selection de toutes les informations de l'utilisateur $req_selection_infos = "select * from internaute where login=\"$login\""; $selection_infos = mysql_query($req_selection_infos); while($select_infos = mysql_fetch_array($selection_infos)){ //début session session_start(); //initialisation des variables de session $_SESSION['designation'] = $select_infos["designation"]; $_SESSION['nom'] = $select_infos["nom"]; $_SESSION['prenom'] = $select_infos["prenom"]; $_SESSION['email'] = $select_infos["email"]; //redirection vers la page d'acceuil header("Location: http://" . $_SERVER['HTTP_HOST'] . "/site_note/index.php?page=acceuil"); } break; default : //redirection vers la page du mauvais password header("Location: http://" . $_SERVER['HTTP_HOST'] . "/site_note/index.php?page=wrongpass"); break; } } break; default : //redirection vers la page du mauvais login header("Location: http://" . $_SERVER['HTTP_HOST'] . "/site_note/index.php?page=wronglogin"); break; } } } //déconnection de la BDD $deconnection = mysql_close($connection);
En effet tout ce qui se trouve dans le "default" ne s'exécute pas ! Il me donne une page blanche ! Aucun message d'erreur ... il ne redirige rien ... bref incompréhension totale !
Par contre le contenu de "case $login" marche normelement.
A noter que le switch imbriqué pour le password qui possède la même logique, marche à la perfection.
Oui je sais il n'y a que deux possibilités j'aurais pu utiliser un "if else". C'était d'ailleurs mon premier choix. Cependant le "if" ne marche pas, "page blanche" comme le "default" ...
Voilà, quelqu'un pourrait il m'éclairer ?
-----