Problème avec les sessions

lpefec Messages postés 8 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 16 septembre 2003 - 16 sept. 2003 à 21:47
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 - 17 sept. 2003 à 05:29
mon script ne fonctionne pas

identification.php
----------------------------------------------------------------
<html>
<head>
<title>Login</title>
<meta http-equiv= "Content-Type" content="text/html; charset=iso-8859-1">
</head>

<form method="post" action="verif.php">
Utilisateur




Mot de passe





</form>

</html>
-------------------------------------------------------------------
verif.php

<?
require("login_config.php3");

// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données $sql_bdd sur le serveur $sql_server
Vérifiez les paramètres du fichier conf.php3"; exit;}
{
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete =mysql_db_query($sql_bdd,"select id,password from membre where id="$user_sql" and password="$password_sql"",$db_link) or die(mysql_error());
}

if ($user=="$user_sql" && $password=="$password_sql"){ // On compare la valeur tapée par l'utilisateur ($login) avec celle enregistrée ($login_sql)
session_start(); // On démarre la session
session_register("user"); // On enregistre le login (attention, les variables de session n'ont pas de signe dollar $)
session_register("password"); // On enregistre le mot de passe

header("Location:login_ok.php"); // Ensuite on redirige la page actuelle vers l'espace membre
}
else{echo "Erreur d'identification, veuillez entrez un login et un mot de passe valide !";} // Sinon l'identification n'est pas réussite

// DECONNEXION MYSQL
mysql_close($db_link);
?>

-------------------------------------------------------------------
login_ok.php
<?
session_start(); // on démarre la session
if (!session_is_registered("password")){ // On vérifie si la session est bien crée
echo "Erreur : vous devez vous identifiez pour avoir accès à cette espace !"; // Message d'erreur
exit(); // On arrêtte l'exécution du script (donc tout ce qui est en dessous ne sera pas affiché)
}
?>



Vous êtes maitenant connecté

-------------------------------------------------------------------

Merci

lpefec

4 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
17 sept. 2003 à 01:34
Salut

tu trouves pas ça un peu leger comme explication lol ...

t'as un message d'erreur, ou ça te donne un truc qui va pas dutout dans le sens que tu veux ?

de plus cette ligne la
if ($user= ="$user_sql" && $password=="$password_sql"){
est inutile, tu vérifies si les infos tapé sont égales aux infos que tu as ressorties avec ses infos, je suis peut etre pas clair m'enfin si tu tapes login lol et pass 2, ta requete signifie sort moi ceux que je veux la ou login = 'lol' et pass = '2' donc ça sert a rien de regarder si ce que tu ressors est égale a ceux que tu te sers pour le ressortir.

et vire les @ devant tes fonctions, pour le débugage c inutile et ça te cache des messages d'erreur qui pourrai etre précieux

++

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV ==> [mailto:tortue.geniale@laposte.net mailto:tortue.geniale@laposte.net]

=> http://www.kame-house.org La plus grosse base de données de DA du net
0
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
17 sept. 2003 à 02:17
bah ca a l'air d'etre un script tout fait donc si kkun la distribué y devrait pas yavoir de pb du coté de la "logique" du truc. en + moi jvois pas le pb de la ligne ke Tortuegeniale a pas aimée.

le pb peut venir des sessions ptetre qu'elles marchent pas sur le serveur où tas testé ce script.

ou sinon tas ptetre oublié de créer la table membre, qui contient les infos des membres inscrits.

Houzéf@ - www.123toto.com
0
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
17 sept. 2003 à 02:20
bah il selectionne avec $user_sql et $password_sql et ensuite il les compare au resultat qu'il ressort mais si il ressort quelque chose c que y a pas besoin de vérifier, et si il ressort quelque chose il vérifie ça avec mysql_nul_rows()

++

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV = => [mailto:tortue.geniale@laposte.net mailto:tortue.geniale@laposte.net]

=> http://www.kame-house.org La plus grosse base de données de DA du net
0
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
17 sept. 2003 à 05:29
ah oui c vrai. donc faut remplacer cette ligne par qqchose comme :
if (mysql_num_rows($requete)!= 0) {

pke la vérif faite dans ce if avait déjà été faite dans la requete (dans la clause WHERE).
Houzéf@ - www.123toto.com
0
Rejoignez-nous