Error de code dans le login

Résolu/Fermé
lokardz Messages postés 82 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 5 février 2022 - 12 sept. 2013 à 12:20
lokardz Messages postés 82 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 5 février 2022 - 14 sept. 2013 à 12:50
Bonjour,

j'ai un formulaire d'authentification et une page de traitement pour ouvrir une session

quand je tape le login et mot de passe j'ai une error comme quoi j'ai pas fais un login

http://localhost/sessions/session.php?error=1

voila mes pages

session.php


<?php
$error = isset($_GET['error']) ? $_GET['error'] : '' ;
$password = isset($_GET['password']) ? $_GET['password'] : '';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<form action="session-login.php" methode="post">
<input type="text" name="login" placeholder="Votre Login" /> </br>
<input type="password" name="password" placeholder="Votre password" />
<input type="submit" value="se connecter" />
</form>
<?php
switch ($error) {
case 1:
echo "Merci de saisir votre login";
break;
case 2:
echo "le mot de passe <b> $password </b> n'est pas valide ...";
break;
case 3:
echo "vous avez été Déconnecter ";
break;
}
?>
</body>
</html>







session-login.php

<?php
$login = isset($_POST['login']) ? $_POST['login'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';

if($login == ''){
header('Location: session.php?error=1');

}elseif ($password != "toto"){
header('Location: session.php?error=2&password='.$password);
}else{
session_start();
$_SESSION['login'] = $login;
$_SESSION['password'] = $password;
$_SESSION['logged'] = true;
header('Location: session-bienvenue.php');
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
</body>
</html>

3 réponses

gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
Modifié par gign44 le 12/09/2013 à 12:41
<form action="session-login.php" methode="post"> 

C'est vrai que methode avec un e il n'aime peut-etre pas :D
Ensuite je pense que ce sont tes conditions du login qui sont mal faites...

Je serais plus dans les anciennes syntaxes moi :


if((isset($_REQUEST['login']))&&(!empty($_REQUEST['login']))) {
$login = $_REQUEST['login'];

if((isset($_REQUEST['password']))&&(!empty($_REQUEST['password']))) {
if($_REQUEST['password']!="toto"){
header('Location: session.php?error=2');
}
else{
session_start();
$_SESSION['login'] = $login;
$_SESSION['logged'] = true;
header('Location: session-bienvenue.php');
}
}
}
else{
header('Location: session.php?error=1');
}

Cordialement
0
lokardz Messages postés 82 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 5 février 2022 3
12 sept. 2013 à 13:19
le problème c'est qu'en dirait qu'il lie pas dans le champs login , parce qu'il affiche toujours le message Merci de saisir votre login???
0
gign44 Messages postés 124 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 22 octobre 2013 5
12 sept. 2013 à 16:42
Tu es censé vérifier le login, le password dans ton IF, toi tu fais le contraire. Si il n'y a rien, ERREUR sinon on vérifie.
C'est un raisonnement à l'envers qui peut avoir pas mal de problèmes dans de longs codes.
Ensuite dans ton form, ta un E à method.
Puis les syntaxes du genre : if($login == '') sont vraiment pas... Car si le $_POST['login'] est vide, ta variable $login va retourner une erreur.
En espérant t'avoir aider,
regarde un peu le code que j'ai mis ci-dessus.

Cordialement
0
lokardz Messages postés 82 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 5 février 2022 3
14 sept. 2013 à 12:50
merci gign44 c bon j'ai trouvé la solution en fin j'ai pas trouver, j'ai refais le code et il marche
surement j'ai oublier un truc bête mais j'arrivais pas a trouvé
merci en tout cas
0
lokardz Messages postés 82 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 5 février 2022 3
12 sept. 2013 à 13:21
merci pour ce bout de code mais j'aimerais bien connaitre ma faute dans ma syntaxe
0