Probleme d'authentification en PHP
Résolu/Fermé
ZaNy
-
21 janv. 2008 à 10:33
majdoulin Messages postés 106 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 31 mai 2008 - 21 janv. 2008 à 11:49
majdoulin Messages postés 106 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 31 mai 2008 - 21 janv. 2008 à 11:49
A voir également:
- Probleme d'authentification en PHP
- Easy php - Télécharger - Divers Web & Internet
- Double authentification google - Guide
- Application d'authentification facebook - Guide
- Retour a la ligne php ✓ - Forum PHP
- Désactiver l'authentification à deux facteurs instagram sans se connecter ✓ - Forum Instagram
6 réponses
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
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
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é???
Je comprend plus rien. Je pense que ca doit provenir de mes headers(...) qui sont mal placé???
majdoulin
Messages postés
106
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 mai 2008
21 janv. 2008 à 11:49
21 janv. 2008 à 11:49
derien ,bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
majdoulin
Messages postés
106
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 mai 2008
21 janv. 2008 à 10:46
21 janv. 2008 à 10:46
bonjour
c'est quoi le message d'erreur ?
c'est quoi le message d'erreur ?
majdoulin
Messages postés
106
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
31 mai 2008
21 janv. 2008 à 11:34
21 janv. 2008 à 11:34
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 .
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 .