Page 1 sur 1

un petit peu d'aide pour comprendre

Posté : 23 avr. 2008, 17:07
par jobart
Bonjour,
je voudrai comprendre pourquoi cela ne marche pas :oops:
if (isset($_POST['pass'])&&$_POST['pass'] == "toto") {
$ID_loc=1;
$pass_admin = "toto";
$email = "[email protected]";
$PASSWORD = $pass_admin;
setcookie("pass1", $PASSWORD, time() + 86400 * 1);
}
if (isset($_POST['pass'])&&$_POST['pass']== "yr8zf5") {
$pass_admin = "pepe";
$ID_loc=2;
$email = "[email protected]";
$PASSWORD = $pass_admin;
setcookie("pass1", $PASSWORD, time() + 86400 * 1);
}
else{
Header("Location: " . $_SERVER['PHP_SELF']);
}

Posté : 23 avr. 2008, 17:08
par agité
mm ca te dis quoi comme erreur ?

Posté : 23 avr. 2008, 17:18
par jobart
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.

Posté : 23 avr. 2008, 17:21
par AB
Tu peux nous faire un copié-collé du message d'erreur ?

Posté : 23 avr. 2008, 17:28
par jobart
en php j'ai pas d'erreur
c'est juste le navigateur qui me fait

Redirection de page incorrecte

Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.

je pense que c'est un problème de header

Posté : 23 avr. 2008, 17:48
par steph29
Si tu vient avec un password different de : yr8zf5
tu boucle sur la meme page...

et je suppose que tu teste avec le passwd toto...

je ferais plutot ca:
if (isset($_POST['pass']){
	if (_POST['pass'] == "toto") { 
		$ID_loc=1; 
		$pass_admin = "toto"; 
		$email = "[email protected]"; 
		$PASSWORD = $pass_admin; 
		setcookie("pass1", $PASSWORD, time() + 86400 * 1); 
	} 
	elseif ($_POST['pass']== "yr8zf5") { 
		$pass_admin = "pepe"; 
		$ID_loc=2; 
		$email = "[email protected]"; 
		$PASSWORD = $pass_admin; 
		setcookie("pass1", $PASSWORD, time() + 86400 * 1); 
	} 
	else{ 
		Header("Location: " . $_SERVER['PHP_SELF']); 
	}
 }

Posté : 23 avr. 2008, 18:09
par Truc
Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

Posté : 23 avr. 2008, 19:30
par jobart
:oops: dsl pour le titre mais je voudrai vraiment comprendre :

je repars du début comme ça si qqun peut m'expliquer

variables:
$url = "http://monsite.com";
	$pass_admin = "admin";
	$email = "[email protected]";
        $ID_loc=1;


pour une petite administration de 3 pages que je fais pour comprendre un peu les cookies
donc: le code de récupération du formulaire
$PASSWORD = $pass_admin;
if (isset ($_POST['pass']) && $_POST['pass'] == $PASSWORD) {
    // si le visiteur a tapé le bon mot de pass dans le formulaire
    // alors on place le cookie
    setcookie("pass1", $PASSWORD, time() + 86400);
    Header("Location: " . $_SERVER['PHP_SELF']);
} 
if (isset ($_COOKIE['pass1']) && $_COOKIE['pass1'] == $PASSWORD) {
    // si le cookie est correct
    // alors la page normale s'affiche
}
cela marche nikel

mais le problème : je veux mettre 2 mots de passe avec les variables
pass_admin , $email , $ID_loc. différentes .

je voudrai comprendre pourquoi le script que j'ai mis au début ne fonctionne pas et aussi quand j'arrive à le faire un peu fontionner le 2ième mot de passe prend le dessus sur le premier :oops:

Posté : 24 avr. 2008, 00:12
par AB
Typiquement si ton deuxième mot de passe écrase le premier c'est sans doute qu'il est enregistré dans la même variable :wink:

Posté : 24 avr. 2008, 09:14
par jobart
merci pour la réponse :P
donc une variable différente pour le mot de passe
pour une personne un cookie ça marche bien , mais pour plusieures personnes c'est mieux de passer en session .


merci à tous