Bonjour, je dois créer un site de réservation de vol pour un travail à l'univ et j'ai mon code d'ouverture de session qui déconne
voilà le code actuel
L'utilisateur est tjs renvoyé sur une page de mauvaise connexion (la accesb.htm), que l'identifiant et le pass soient justes ou faux.<?php
session_start();
$loginOK = false;
//On part de l'idée que le login ne fonctionne pas en initialisant une variable à false. Et c'est seulement lorsque le login est confirmé qu'on modifie cette
variable à true. Il suffit ensuite de tester cette variable pour loguer l'utilisateur ou pas. Cela nous économise des else inutiles à chaque étape de test.
$ident=$_POST['username'];
//ouverture de la bd pour vérifier le bon identifiant.
$conn=odbc_connect("","","");
//on lance une requête de vérification.
$req=odbc_exec($conn,"SELECT nom FROM tcoordclient WHERE nom='".addslashes($ident)."'");
if(($_POST["username"]==$req) && ($_POST["password"]=="pass")){
$loginOK=true;
$ident=$_POST['username'];
$_SESSION['username']=$ident;
}else{
//redirection vers la page accesb.htm.
header("Location: accesb.htm");
}
?>
Le code précédent
<?php
session_start();
$loginOK = false;
//On part de l'idée que le login ne fonctionne pas en initialisant une variable à false. Et c'est seulement lorsque le login est confirmé qu'on modifie cette variable à true. Il suffit ensuite de tester cette variable pour loguer l'utilisateur ou pas. Cela nous économise des else inutiles à chaque étape de test.
if((!empty($_POST["username"])) && ($_POST["password"]=="pass")){
$ident=$_POST["username"];
//ouverture de la bd pour vérifier le bon identifiant.
$conn=odbc_connect("","","");
//on lance une requête de vérification.
$req=odbc_exec($conn,"SELECT nom FROM tcoordclient WHERE nom='".addslashes($ident)."'");
//vérif que l'utilisateur existe bien.
if (odbc_num_fields($req)=="1") {
$data = odbc_fetch_row($req);
$loginOK = true;
}else{
//redirection vers la page accesb.htm.
header("Location: accesb.htm");
}
//mise en mémoire du nom.
if ($loginOK) {
$_SESSION['nom']=$data['nom'];
}
}else{
//redirection vers la page accesb.htm.
header("Location: accesb.htm");
}
?>
Ce code m'envoye toujours sur une page de bonne connexion (qui suit ce code php), que l'identifiant soit juste ou faux mais m'envoye sur la page de mauvaise connexion(accesb.htm) lorsque le pass est faux.
Je suis novice en php, j'ai appris ça les 2 mois passés mais il me semble que le problème provient de la vérification de l'identifiant dans la bd access. Je laisse pour l'instant le même pass pour tous.
Est-ce que qqn pourrait me donner le code php correct svp?
Merci!






Répondre avec citation
Partager