Problême de condition PHP!!
micka30
Messages postés
102
Date d'inscription
Statut
Membre
Dernière intervention
-
Xil Messages postés 350 Date d'inscription Statut Membre Dernière intervention -
Xil Messages postés 350 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problême avec un lien qui marche pas a cause d'une condition je pense!
enfaite, je me conecte avec mon pseudo et mon mot de passe ,ca me connecte sur cette page, et puis quand je reviend sur accueil et que je passe par le lien pour aller sur cette même page ca m'affiche une page blanche!
je vous montre :
j'ai un problême avec un lien qui marche pas a cause d'une condition je pense!
enfaite, je me conecte avec mon pseudo et mon mot de passe ,ca me connecte sur cette page, et puis quand je reviend sur accueil et que je passe par le lien pour aller sur cette même page ca m'affiche une page blanche!
je vous montre :
<?php session_start(); $_SESSION['pseudo'] = $_POST['pseudo']; // D'abord, on se connecte à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("sitemicka"); if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['mot_de_passe'])) { $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); $mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe'])); // on recupère le password de la table qui correspond au pseudo du visiteur $sql = "select mot_de_passe from infoclients where pseudo='".$pseudo."'";// cette requette veut dire selectionne le mot de passe dans la table infoclients de pseudo $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['mot_de_passe'] != $mot_de_passe) { echo '<p>Mauvais pseudo ou mot de passe. Merci de recommencer</p>';include('premierpage.php');// On inclut le formulaire d'identification exit;} } else { if(!isset($_SESSION['pseudo'])) { echo 'Vous êtes pas autoriser à acceder à cette page. Veuillez vous connectez'; include('premierpage.php'); exit; } elseif (isset ($_SESSION['pseudo'])); { ?> <!-- Rappel : debut de la page --> <head><!-- Rappel : debut information d'en tète --> <title>âmesoeur.com</title> <br /> <!-- Rappel : titre de la page --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design3" href="design3.css" /> </head><!-- Rappel : fin information d'en tète --> <body> <p> Salut <?php echo $_SESSION['pseudo']; ?> !<br /> <div id="conteneur"> <ul id="menu"> <li><a href="photo2222222.php">Mes photos</a></li> <li><a href="mp.php">Message</a></li> <li><a href="premierpage.php">Accueil</a></li> <li><a href="@@@@@@@@@"></a></li> <li><a href="@@@@@@@@@"></a></li> </ul> <div id="contenu"> <h2>Un titre</h2> <p>Un paragraphe</p> </div> <?php } } } else { echo '<p>vous avez oublié un champs.</p>'; include('premierpage.php'); // On inclut le formulaire d'identification exit;} } ?> </body> </html><!-- Rappel : fin de la page -->
A voir également:
- Problême de condition PHP!!
- Excel cellule couleur si condition texte - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Excel condition ou - Guide
- Condition optimale téléphone ✓ - Forum Mobile
3 réponses
Quand tu reviens la deuxième vois sur ta page, $_POST['pseudo'] n'existe plus, et quand tu fais
$_SESSION['pseudo'] = $_POST['pseudo'];
ca détruit ta variable $_SESSION['pseudo'];
Déplace ton initialisation de $_SESSION['pseudo'] au niveau de ta requête SQL;
Ca sera déjà ca de réglé.
Ensuite, vérifie tes ouvertures et fermetures d'accolades ({ } ), ca me semble un peu désordonné.
Ca manque un peu de logique dans les tests
$_SESSION['pseudo'] = $_POST['pseudo'];
ca détruit ta variable $_SESSION['pseudo'];
Déplace ton initialisation de $_SESSION['pseudo'] au niveau de ta requête SQL;
Ca sera déjà ca de réglé.
Ensuite, vérifie tes ouvertures et fermetures d'accolades ({ } ), ca me semble un peu désordonné.
Ca manque un peu de logique dans les tests
session_start(); [ connection mysql ] //Si on vient du formulaire if(isset($_POST)){ [ requête sql ] if(mysql_num_rows($result_sql) > 0) { //Le pseudo a été trouvé dans la bdd if($mot_de_passe = $data['mot_de_passe']) { //mot de passe correct $_SESSION['pseudo'] = $pseudo; [ connection réussie, redirect vers cette page ] }else{ //Le mot de passe n'est pas bon echo 'mot de passe incorrect'; } }else{ // le pseudo n'existe pas echo 'pseudo incorrect'; } } //On ne vient pas du formulaire else { if(isset($_SESSION['pseudo']) { //on s'est déjà connecté avec succès [ affichage de la page ] }else { //on ne s'est pas encore connecté echo 'vous devez vous connecter'; } }
merci de ta reponse:!
j'ai fait comme tu ma dit !
il ya une erreur ici :
Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\testsVRAI\mapageperso.php on line 28
j'ai fait comme tu ma dit !
il ya une erreur ici :
include('premierpage.php'); } else { //Le mot de passe n'est pas bon echo 'mot de passe incorrect'; } }
Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\testsVRAI\mapageperso.php on line 28
<?php session_start(); // D'abord, on se connecte à MySQL mysql_connect("localhost", "root", ""); mysql_select_db("sitemicka"); //Si on vient du formulaire if(isset($_POST)) { $sql = "select mot_de_passe from infoclients where pseudo='".$pseudo."'";// cette requette veut dire selectionne le mot de passe dans la table infoclients de pseudo $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['mot_de_passe'] != $mot_de_passe) { //Le pseudo a été trouvé dans la bdd { //mot de passe correct $_SESSION['pseudo'] = $pseudo; include('premierpage.php'); } else { //Le mot de passe n'est pas bon echo 'mot de passe incorrect'; } } else { // le pseudo n'existe pas echo 'pseudo incorrect'; } } //On ne vient pas du formulaire else { if(isset($_SESSION['pseudo']) { //on s'est déjà connecté avec succès ?> <!-- Rappel : debut de la page --> <head><!-- Rappel : debut information d'en tète --> <title>âmesoeur.com</title> <br /> <!-- Rappel : titre de la page --> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design3" href="design3.css" /> </head><!-- Rappel : fin information d'en tète --> <body> <p> Salut <?php echo $_SESSION['pseudo']; ?> !<br /> <div id="conteneur"> <ul id="menu"> <li><a href="photo2222222.php">Mes photos</a></li> <li><a href="mp.php">Message</a></li> <li><a href="premierpage.php">Accueil</a></li> <li><a href="@@@@@@@@@"></a></li> <li><a href="@@@@@@@@@"></a></li> </ul> <div id="contenu"> <h2>Un titre</h2> <p>Un paragraphe</p> </div> <?php }else { //on ne s'est pas encore connecté echo 'vous devez vous connecter'; } } ?> </body> </html><!-- Rappel : fin de la page --></code>