Probleme d'authentification en PHP

Résolu
ZaNy -  
majdoulin Messages postés 106 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je vous explique mon problème.
Je possède un formulaire POST qui contient 2 champs (login pour saisir l'identifiant, et password pour saisir le mots de passe.
Lorsque je clique sur le bouton Envoyer, mon formulaire recupère ces données et va sur la page authentification2.php

Voici le code de la page authentification2.php

<?php $login=htmlspecialchars($_POST["login"]);
$password=htmlspecialchars($_POST["password"]);
if (isset($login) && isset ($password) && $login !=NULL && $password !=NULL)
{
$requete="SELECT user,pass FROM membres WHERE user='".$login."' AND pass='".$password."';";
include("connexion.php");
$result=mysql_query($requete);
$ligne=mysql_fetch_array($result);
session_start();
$_SESSION['login']=$login;
header('perso.php');

header('accueil.php');

}
else
{
header('accueil.php');
}
?>


J'aimerai que la page perso.php s'affiche si le login et mots de passe sont bon sinon la page accueil.php.

Le login et mots de passe sont contenu dans une tables membres avec un champ 'user' et un champs 'pass'.

Merc i de votre aide

Cordialement
A voir également:

6 réponses

ZaNy
 
Merci de votre aide
Voici mon code remodifier, et qui marche mieux mais pas encors très bien.

<?php $login=htmlspecialchars($_POST["login"]);
$password=htmlspecialchars($_POST["password"]);
if (isset($login) && isset ($password) && $login !=NULL && $password !=NULL)
{
$requete="SELECT num,type FROM membres WHERE user='".$login."' AND pass='".$password."';";
include('connexion.php');
$result=mysql_query($requete);
$ligne=mysql_fetch_array($result);
$num=$ligne["num"];
$type=$ligne["type"];
switch ($type)
{
// Cas Admin
case 'Admin' :
session_start();
$_SESSION['type']=$type;
$_SESSION['login']=$login;
$_SESSION['num']=$num;
header('location:perso.php');

case '' :
header('location:accueil.php');

}
}
else
{
header('location:accueil.php');
}
?>


Lorsque je rentre un faux login et mots de passe ou que je ne rentre rien, on retourne bien sur la page d'accueil.
Par contre, le soucis est que si je rentre le bon login et mots de passe, on va bien sur la page authentification2.php mais la, page blanche et rien ne bouge, alors que l'on devrai repartir sur perso.php
0
ZaNy
 
Le probleme maintenant est que dans tous les cas, meme avec login et password correct, je suis renvoyé sur accueil.php.
Je comprend plus rien. Je pense que ca doit provenir de mes headers(...) qui sont mal placé???
0
ZaNy
 
C'étais belle et bien un probleme de break. Maintenant ca marche très bien.
Merci beaucoup.
0
majdoulin Messages postés 106 Date d'inscription   Statut Membre Dernière intervention  
 
derien ,bonne chance
0

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

Posez votre question
majdoulin Messages postés 106 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour
c'est quoi le message d'erreur ?
-1
majdoulin Messages postés 106 Date d'inscription   Statut Membre Dernière intervention  
 
Je crois plutot que le probleme vient de ta requete les header sont bien pose ,juste une remarque je crois qu'il faudrait mettre break;

header('location:perso.php');break;
case '' :
header('location:accueil.php');
break;
}
}
else
{
header('location:accueil.php');break;
}
?>

Et comme tu es toujour redirige vers acceuil alors ce serait ta requete qui marche pas , pour moi ca a marche voici mon code si ca peut t 'aider :
<?php
if(!empty($_POST["valider"]))
{ if(!empty($_POST['login']) && !empty($_POST['pass']) and ($_POST['login'] != NULL) and ($_POST['pass'] != NULL)) {

$login=$_POST['login'];
$pass=$_POST['pass'];

$rek=mysql_query("select login,pass,categorie,nom,prenom from admin where login='$login' and pass='$pass' ");
mysql_close();
if ($ligne = mysql_fetch_array($rek))
{$cat=$ligne[2];
session_start();
session_save_path("/sessions");
$_SESSION['login'] = $ligne[0];
$_SESSION['pass'] = $ligne[1];
$_SESSION['cat'] = $cat;
$_SESSION['nom'] = $ligne[3];
$_SESSION['prenom'] = $ligne[4];
header("Location: utilisateurs.php");
} }}
?>
Et dans l autre page j ai recupere categorie et avec switch case j ai affiche ce ke je voulai .
-1