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
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>
<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 ... :
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 :
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
<?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
Précédent
- 1
- 2