Probleme d'authentification
Posté : 25 févr. 2006, 00:12
Salut à tout.
J'ai un problème avec un script, ca fait plusieurs heures que je cherches, et je vois vraiment pas de quoi ca peut venir...
Les symptomes :
J'ai un formulaire d'identification. Une fois identifié, le script place un cookies pour dire que l'on est identifié, et un ou deux autres pour des histoires relatives à cette identification (pseudo, et rang).
Seulement voila... au début, il fallait que je m'identifie 2 fois de suite. pourquoi? je n'en sais rien. E maintenant, lorsque le mdp/login sont corrects, cela réaffiche le formulaire de connexion, et ne place pas de cookies... et je ne comprends pas pourquoi. Je fais donc appel à vous. je place ici la partie que je pense incriminée, et vous met un lien vers le script complet.
La page entiere :
http://fusee-eau.info/perso/script.txt
Merci beaucoup si vous pouvez me tirer de la
J'ai un problème avec un script, ca fait plusieurs heures que je cherches, et je vois vraiment pas de quoi ca peut venir...
Les symptomes :
J'ai un formulaire d'identification. Une fois identifié, le script place un cookies pour dire que l'on est identifié, et un ou deux autres pour des histoires relatives à cette identification (pseudo, et rang).
Seulement voila... au début, il fallait que je m'identifie 2 fois de suite. pourquoi? je n'en sais rien. E maintenant, lorsque le mdp/login sont corrects, cela réaffiche le formulaire de connexion, et ne place pas de cookies... et je ne comprends pas pourquoi. Je fais donc appel à vous. je place ici la partie que je pense incriminée, et vous met un lien vers le script complet.
Code : Tout sélectionner
<?php
$pagedem = $_GET['page'];
$bienvenue = "Veuillez entrer vos identifiants de connection";
if (isset($_POST['name']) || isset($_POST['pass'])) {
// formulaire recu
// verifie les valeurs
if (empty($_POST['name'])) {
die ("ERREUR: Entrez un nom d'utilisateur!");
}
if (empty($_POST['pass'])) {
die ("ERREUR: Veuillez entrer un mot de passe!");
}
// Defini les variable d'acces au serveur mySQL
$host = "xxx";
$user = "dxxx";
$pass = "xxx";
$db = "xxx5";
// Ouvre la connexion
$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
// Selectionne la base
mysql_select_db($db) or die ("Unable to select database!");
// Construit la requete
$query = "SELECT statut FROM membre WHERE pseudo = '" . $_POST['name'] . "' AND pass = '" . $_POST['pass'] . "' ";
// Execute la requete
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
$tableau = mysql_fetch_array($result);
$_SESSION['statut'] = $tableau['statut'];
$statut = $tableau['statut'];
// Regarde les valeurs retournees par la base
if (mysql_num_rows($result) == 1) {
session_start();
$_SESSION['auth'] = 1;
setcookie("username", $_POST['name'], time()+(10080));
setcookie("session", 1, time()+(10080));
setcookie("statut", $tableau['statut'], time()+(10080));
}
else {
// pas de résultat
// authentification impossible
$bienvenue = "Login ou mot de passe incorrect";
}
// Libere le resultat
mysql_free_result($result);
// Ferme la connexion
mysql_close($connection)
?>
http://fusee-eau.info/perso/script.txt
Merci beaucoup si vous pouvez me tirer de la