Rechercher : dans
Par :

Lecture de plusieurs variables [php- $_POST ]

Dernière réponse le 5 sep 2009 à 23:16:57 timon44, le 5 sep 2009 à 20:53:48 
 Signaler ce message aux modérateurs

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 :!!
Configuration: Windows XP
Firefox 3.0.13

Meilleures réponses pour « Lecture de plusieurs variables [php $_POST ] » dans :
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

P@t@ch0n, le 5 sep 2009 à 21:14:50

Oui, elle est flagrante ;)

=> $POST_['err']

Répondre à P@t@ch0n

2

 Alain_42, le 5 sep 2009 à 23:16:57

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 ??

Répondre à Alain_42