Bonjour à vous et tout d'abord Bonne année 2009 !! :p
Voilà pour tout dire, j'ai un problème en ce qui concerne mon authentification sur un site que je développe. Le pire c'est que je ne sais même pas ce qui cloche car je n'ai pas réellement de message d'erreur mais ce qui est sûr c'est que cela ne fonctionne pas comme prévue. o_O
J'ai un formulaire (avec 2 champs: login et pass; ce qui n'est vraiment pas trop compliqué normalement) mais j'ai beau renseigner les bons champs (avec ce qui se trouve dans ma table), je retourne toujours au formulaire sans être rediriger comme il se doit. :colere2:
(problème de la variable $loginOK qui affecte un header !!)
Si c'est bien cela, enfin je crois.. :-°
J'ai un code html pour le formulaire mais qui je pense est bon donc je donne mon script de vérification du formulaire qui je pense doit etre faux (sinon je ne serai pas là, lol :D ).
Voici le code:
Code : PHP
<?php
// On demarre la session
session_start();
function verif_login($login, $pass) {
$loginOK = false;
// On n'effectue les traitement qu'a la condition que les informations aient ete effectivement postees
if(isset($_POST['login']) && isset($_POST['pass']) && ($_POST['login'] && $_POST['pass'] != NULL)){
if (!empty($_POST['login']) && !empty($_POST['pass'])) {
mysql_connect( "localhost" , "" , "" ) or die ("pas d'ouverture mysql".mysql_error());
mysql_select_db("manadgersdb") or die ("connexion base marche pas".mysql_error());
$login = mysql_real_escape_string($_POST['login']);
$query = mysql_query("SELECT 'id_clients', login, email, pass_md5 FROM clients WHERE login = '$login'") or die ("la requete a echouee".mysql_error());
// On verifie que l'utilisateur existe bien
if ( mysql_num_rows($donnees) >0){
$donnees = mysql_fetch_assoc($query);
}
mysql_close();
// On verifie que son mot de passe est correct
if ((md5($pass)) == $donnees['pass_md5']) {
$_SESSION['id_clients'] = $donnees["id_clients"];
$_SESSION['login'] = $login;
$_SESSION['email'] = $donnees["email"];
$loginOK = true;
}
}
return $loginOK;
}
}
$loginOK = verif_login($_POST["login"], $_POST["pass"]);
//Maintenant dans la var loginOK il y a true si le login est bon, FALSE sinon
// Si le login a ete valide on met les donnees en sessions
if ($loginOK === true) {
header("location: menu.php");
}else{
header("location: monformulaire.php");
}
?>
Voilà et sims d'avance.
Peace
Si t'appelles une voyante et qu'elle ne décroche pas avant que ça sonne, alors raccroche ..!!
By JC.VD