Eléphant du PHP |
124 Messages
14 sept. 2006, 22:02
J'ai ajouté ce script dans les pages que je veux proteger :
<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT pseudo, age, sexe, ville, mdp FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
Seulement maintenant quand je veux acceder à une page que j'ai protégé avec le script ci dessus il m'affiche "Une erreur est survenue, veuillez réessayer !"
Je pense que c'est du au faite que la session est déjà ouverte, donc je pense qu'il faudrait plutot modifier ce script :
<?php
// On appelle la session
session_start();
// On affiche une phrase résumant les infos sur l'utilisateur courant
echo 'Pseudo : ',$_SESSION['pseudo'],'<br />
Age : ',$_SESSION['age'],'<br />
Sexe : ',$_SESSION['sexe'],'<br />
Ville : ',$_SESSION['ville'],'<br />';
?>
du genre mettre un if quelque par mais je ne sais pas où.
Merci
Modifié en dernier par
neo765 le 29 mai 2008, 23:32, modifié 1 fois.