affichage donné=bug
le 05/06/2006 à 22:46
i M@N
erf ... me suis planté remplace là :
<?php
/*...*/
// on teste si une entrée de la base contient ce couple login / [pass crypté md5]
$sql = 'SELECT count(*) FROM membre WHERE login="'.$login.'" AND pass_md5="'.$pass.'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
/*on récuère les données du membre*/
$login_valid = $data['login'];
$pass_valid = $data['pass_md5'];
$email = $data['email'];
mysql_free_result($req);
mysql_close();
/*...*/
?>
One Love, One Heart, One Unity.
bisard jarive tk sur mon index aprés validation
quand on valide j'arrive sur ma page d'acceuille,alors qu'il ny a aucun header renvoyant a cette page
le 06/06/2006 à 18:08
i M@N
Hello !
Wé je viens de pousser les tests il était assez foireux ce script ...
En vala un qui fonctionne :
<?php
/*on initialise la variables $connexion issue de $_POST
et on teste si le visiteur a soumis le formulaire de connexion*/
if (isset($_POST['connexion']) && ($_POST['connexion'] == "Connexion")) {
/*on initialise les variables issues de $_POST*/
if ((isset($_POST['login'])) && $_POST['login'] !="") $login = addslashes($_POST['login']); else $login = "";
/*on initialise et on vérifie que la variable n'est pas vide
puis on crypte md5+addslashes immédiatement la variable pass issue de $_POST*/
if ((isset($_POST['pass'])) && $_POST['pass'] !="") $pass = md5(addslashes($_POST['pass'])); else $pass = "";
/*on démarre la session*/
session_start();
/*on vérifie que les variables ne sont pas vides*/
if (($login == "") || ($pass == "")) {
$erreur = 'Au moins un des champs est vide.';
echo $erreur;
/*on termine le script*/
exit;
}
/*sinon on continue*/
else {
$base = mysql_connect ('localhost', 'user', 'pass');
mysql_select_db ('base', $base);
// on teste si une entrée de la base contient ce couple login / [pass crypté md5]
$sql = 'SELECT count(*) FROM membre WHERE login="'.$login.'" AND pass_md5="'.$pass.'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
/*on récupère les données*/
$login_valid = $data['login'];
$pass_valid = $data['pass_md5'];
$email = $data['email'];
mysql_free_result($req);
mysql_close();
// si les variables correspondent, alors l'utilisateur est un membre
if($login == $login_valid && $pass == $pass_valid) {
/*on enregistre ses données en session*/
$_SESSION['login'] = $login_valid;
$_SESSION['email'] = $email;
header('Location: membre.php');
/*on termine le script*/
exit();
}
// si les variables ne correspondent pas, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
else {
$erreur = 'Compte non reconnu.';
echo $erreur;
/*on termine le script*/
exit;
}
}
}
?>
@+...
One Love, One Heart, One Unity.
hum quand je valide le formullaire j'ai " compte non reconnue"
J'ai modifier quelque nom de variable "passe_md5"
mais sa donen rien (toujours parreille)
matenant j'ai sa :
Erreur SQL !
SELECT count(*) FROM membre WHERE login="maman" AND pass_md5="b74df323e3939b563635a2cba7a7afba"
No database selected
bisard
le 06/06/2006 à 20:30
i M@N
Reuh ...
Ahméwé "bisard" ... mais tu vas trouver ... si tu cherches.
@+...
One Love, One Heart, One Unity.
je trouve vraimetn po la,un indice père foura.Faute de frappe,de structure?
le 06/06/2006 à 20:50
i M@N
quand le code tu reliras
les erreurs d'apache tu comprendras
One Love, One Heart, One Unity.
désolé je vois pas,Jette la cléf