Lecture de plusieurs variables [php- $_POST ]

Fermé
timon44 Messages postés 53 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 17 décembre 2010 - 5 sept. 2009 à 20:53
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 5 sept. 2009 à 23:16
Bonjour à tous !!
Je suis en train de faire une partie sécurisé sur mon site, avec pseudo et mot de passe. Et je voudrais, lorsque le mot de passe n'est bon, qu'il m'affiche un message d'erreur.
Donc voici ma partie formulaire :


	<?php
	if($connect == false)
		{
		if ( isset($POST_['err']) )
			{echo ('Erreur de mot de passe !');}
			else {echo ('err nExiste pas');}
		?>
			<form method="post" action="config/connect.php">
				<p>
					<label for="pseudo">Pseudo: </label>
					<input id="pseudo" name="pseudo" type="text"/>
				</p>
				<p>
					<label for="password">Mot de passe : </label>
					<input id="password" name="password" type="password"/>
				</p>
					<input type="submit" value="Se connecter"/>
				<p>
					Mot de passe oublié ? Pas encore inscrit ?
				</p>
			</form>
		<?php
		}// Fin de if($connect == false)

	else if ($connect == true)
			{
				if ($nivo==1)
					{
						echo("<p>Vous êtes connecté en tant que membre.</p>");
					} // Fin de if($nivo==1)
				else if ($nivo==2)
					{
						echo("<p>Vous êtes connecté en tant qu'administrateur.</p>");

					} // Fin de if($nivo==2)

			} // Fin de if($connect == true)

		?> 



Et là, la page qui est demandé dans le 'action' du form:


<?php
	include('config.php');
	 

	if(isset($_SESSION['id'])){
		header("Location: ../index.php");
		exit;
	}
	 
	$connect = false;
	 
	if((isset($_POST['pseudo'])) && (isset($_POST['password']))){
		extract($_POST);
		
		$password = prot($password);
		$pseudo = mysql_real_escape_string(htmlentities($pseudo, ENT_QUOTES)); 
		$sql = "SELECT * FROM membres WHERE pseudo='".$pseudo."'";
		$req = mysql_query($sql) or die ('Erreur SQL');
	 
		if(mysql_num_rows($req) > 0){
			$rep = mysql_fetch_array($req);	
			if($rep['password'] == $password){
				$connect = true;
				$_SESSION['id_membre'] = $rep['id_membre'];
			}
		}
	}
	 
	if($connect == true){
		header("Location: ../index.php");
		exit;
	}elseif($connect == false){
		header("Location: ../index.php?page=connexion&?err=mdp");
		exit;
}
?>


Donc le probléme est qu'il maffiche toujours 'err nExiste pas' ....

Si quelqu'un voit l'erreur ....

Merci beaucoup :!!
A voir également:

2 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
5 sept. 2009 à 21:14
Oui, elle est flagrante ;)

=> $POST_['err']
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 sept. 2009 à 23:16
en fait tu as plusieurs erreurs:

page appelée par action=
}elseif($connect == false){
header("Location: ../index.php?page=connexion&?err=mdp");
exit;


tu as un ? avant err
}elseif($connect == false){
		header("Location: ../index.php?page=connexion&err=mdp");
		exit;
.......


et dans ta page index si tu passes l'erreur par l'URL c'est en GET qu'il faut la récupérer donc:

if ( isset($POST_['err']) )
{echo ('Erreur de mot de passe !');}


=>>
if ( isset($_GET['err'])  && $_GET['err']=='mdp')
			{echo ('Erreur de mot de passe !');}
......


ensuite tu testes la variable if($connect == false)


variable que tu initialise et modifies dans l'autre page ??
0