Script recherche mot de passe - Page 2
Résolu
Précédent
- 1
- 2
-
je te remerci pour ton aide, mais c'est exactement ce que j'ai fait, et ça reste toujours la mème chose.
je veux te dire que tout est bon, j'ai réussi à me conecter via un pseudo et un mot de passe, juste que le message ne veut pas disparaitre c tout -
-
alors voila toute la page :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Bienvenue sur mon site !</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form action="paga.php" method="post">
<p>
<input type="text" name="posodo" /> </br>
<input type="password" name="passa" /></br>
<input type="submit" value="Valider" />
</p>
</form>
<?php
if ($_POST['posodo'] != NULL AND $_POST['passa'] != NULL)
{
$cnx = mysql_connect("localhost", "root", "");
mysql_select_db("mama");
$passa = mysql_real_escape_string(htmlspecialchars($_POST['passa']));
$posodo = mysql_real_escape_string(htmlspecialchars($_POST['posodo']));
$result = mysql_query( "SELECT motpasse FROM foruma WHERE pseudo ='$posodo' " );
list( $reponse ) = mysql_fetch_array($result);
if ( $reponse==$passa )
{
?>
<p><?php
session_start(); // On démarre la session AVANT toute chose
$_SESSION['prenom'] = $posodo;
?>
<a href="koka.php">Lien vers </a><br/>
</p><?php
}
else
{
echo "<p>vous navez pas entrer le bon mot de passe</p>"; }
}
else
{
echo "<p>veillez entré vos coordoné svp</p>";
}
mysql_close($cnx);
?>
</body>
</html> -
Voila, quelques petites modifications ... :
<?php session_start(); ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue sur mon site !</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <form action="paga.php" method="post"> <p> <input type="text" name="posodo" /> </br> <input type="password" name="passa" /> </br> <input type="submit" value="Valider" /> </p> </form> <?php if ($_POST['posodo'] != NULL AND $_POST['passa'] != NULL) { $cnx = mysql_connect("localhost", "root", ""); mysql_select_db("mama"); $passa = mysql_real_escape_string(htmlspecialchars($_POST['passa'])); $posodo = mysql_real_escape_string(htmlspecialchars($_POST['posodo'])); $result = mysql_query( "SELECT motpasse FROM foruma WHERE pseudo ='$posodo' " ); list( $reponse ) = mysql_fetch_array($result); if ( $reponse==$passa ) { ?> <p> <?php $_SESSION['prenom'] = $posodo; ?> <a href="koka.php">Lien vers </a><br/> </p> <?php } else { echo "<p>vous navez pas entrer le bon mot de passe</p>"; } } mysql_close($cnx); else { echo "<p>veillez entré vos coordoné svp</p>"; } ?> </body> </html>
Il me semble que le problème venait du fait que la variable était définie dans un bloc plus bas : la fonction mysql_close n'avait par conséquent pas accès à la variable. Une variable dans les blocs haut peuvent être vues dans les blocs plus bas, mais pas le contraire.
Pour le session_start(), il faut le mettre en tout premier, même avant la balise <html>, sinon tu risques de créer des erreurs.
Concept de bloc :portée globale { niveau 1 (haut) { niveau 2 (inférieur au niveau 1) { niveau 3 { ... } } } }
une variable définie dans le niveau 3 ne peut pas être vue dans les niveaux 1 et 2, mais uniquement dans les niveaux inférieurs (3,4,5,6,...).
Les variables de portée globale (pas définies dans un bloc) peuvent être vue dans tous les blocs.
Il faut toujours bien faire attention à la portée des variables ... :D
@Bientôt -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je te remerci beaucoups , pour ton soutien ça a marcher, je n'ai plus ce message, merci pour tes explications, et ton aide, je vais le marquer comme résolu ^^
-
Mais c'est tout normal ...
Bonne programmation :D
Précédent
- 1
- 2