Script recherche mot de passe

Résolu
yusukessj Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   -  
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
alors je veux faire un script qui demande aux utilisateur d'inséré leur pseudo et leur mot de passe
<form action="paga.php" method="post">
<p>
<input type="text" name="posodo" />
<input type="text" name="passa" />
<input type="submit" value="Valider" />
</p>
</form>
après j'ai fait cette requete pour vérifier si le pseudo et le mot de passe sont bien situer dans la base de donné
$reponse="select motpasse from foruma where pseudo ='$posodo'";

if $reponse==$passa
{echo "<p>bravo felicitation</p>";
mais il ne veut pas marché je ne sais pas pourquoi,
merci pour vos reponse à bientot
A voir également:

26 réponses

yusukessj Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   16
 
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
0
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   160
 
Je pourrais voir le script en entier stp ?
0
yusukessj Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   16
 
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>
0
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   160
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yusukessj Messages postés 267 Date d'inscription   Statut Membre Dernière intervention   16
 
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 ^^
0
vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   160
 
Mais c'est tout normal ...

Bonne programmation :D
0