Problême de condition PHP!!
micka30
Messages postés
102
Statut
Membre
-
Xil Messages postés 351 Statut Membre -
Xil Messages postés 351 Statut Membre -
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
- Nbval avec condition ✓ - Forum Excel
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>