Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour, j'ai un pb, je suis en train de créer un formulaire permettant de se logger pour un accés au site, cependant le code que j'ai trouvé et modifié comporte une erreur, car lors de la connexion le serveur internet s'arréte, cependant le login et mot de passe sont bien présent dans ma base de données.
Merci de m'aider c'est assez urgent.
Voici le code :
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('djp', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
//<p><strong>Vous êtes bien connecté !!!!</strong></p>
header('Location: deco.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion à l'espace membre :
<form action="index.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>">
<input type="submit" name="connexion" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($erreur)) echo '
',$erreur;
?>
<a href="formulaire.php?id=1"><p><strong>Bon d'intervention sur site : fiche à remplir</strong></p></a>
</body>
</html>
Hors ligne
Sur combien de site à tu collé ce message ?
pour te répondre xTG j'ai essayé sont script et j'ai [[img align=C]http://phpjungle.info/imagesdivers/httpdhs.png[/img]
y a un truc :-)~
après test c'est le mysql_close qui plante le bouzion faut ajouter le lien vers la db pour corriger => mysql_close($base).
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Non moi c'est mozilla qui s'arrétait car je l'executé sur le localhost, cependant désormais il ne s'arréte plus, mais me recharge a vide la meme pas de connexion
Hors ligne
par contre aucun changement en spécifiant ma bdd dans mon mysql_close()_
Hors ligne
Pour moi aprés longue étude l'erreur viendrai d'ici :
<?php
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
//var_dump($data);
?>
Car lorsque j'effectue une inscription tout fonctionne bien, si je ne me deconnecte pas il retrouve le membre lors de l'identification. Cependant lorsque je me déconnecte, et que je cherche par la suite à réidentifier ce même membre il ne le trouve plus.
L'erreur viendrai t-elle de ma requête???
Hors ligne
as tu une idée de l'erreur ????
Hors ligne
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
Hors ligne
Pages :: 1