affichage donné=bug

Répondre
i M@N
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.
covin85
le 06/06/2006 à 11:28
covin85
quand on valide j'arrive sur ma page d'acceuille,alors qu'il ny a aucun header renvoyant a cette page
i M@N
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.
covin85
le 06/06/2006 à 20:19
covin85
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)
covin85
le 06/06/2006 à 20:24
covin85
matenant j'ai sa :
Erreur SQL !
SELECT count(*) FROM membre WHERE login="maman" AND pass_md5="b74df323e3939b563635a2cba7a7afba"
No database selected

bisard
i M@N
le 06/06/2006 à 20:30
i M@N
Reuh ...

Ahméwé "bisard" ... mais tu vas trouver ... si tu cherches. smiley

@+...
One Love, One Heart, One Unity.
covin85
le 06/06/2006 à 20:47
covin85
je trouve vraimetn po la,un indice père foura.Faute de frappe,de structure?
i M@N
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.
Répondre
LoadingChargement en cours