redwar

Inscris le 02/01/2010 à 00:52
  • Site web
  • Nombre de sujets
    1
  • Nombre de messages
    3
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
redwar
le 02/01/2010 à 01:11
Probleme Connexion Espace membre
Voici mon problème, je me suis servi du tuto sur l'espace membre pour créé un espace membre sur mon site. Pour se qui est de l'inscription tout va bien les données sont belle et bien stockées dans ma base mysql. Le probleme est lors de la connection. Lorsque je rentre mon login et mon mot de passe, je clique sur connection puis je recoit le retour d'erreur "Au moins un des champs est vide.", pourtant j'ai bien entrée les données. smiley

Voici mon code php:

<?php
// 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 ('espace_membre', $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="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.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'];
header('Location: inscription.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.';
}
}
?>

______

Et voici mon formulaire de connexion:

<form action="index.php" method="post">
LOGIN: <input name="Login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"> &nbsp;&nbsp;&nbsp;
PASSWORD: <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"> &nbsp;&nbsp;&nbsp;
<input type="submit" name="connexion" value="Connexion">
</form>

<?php
if (isset($erreur)) echo ' ',$erreur;
?>

_____

Merci d'essayer de trouver le probleme. smiley

Ses derniers messages sur les forums

forum
redwar
le 02/01/2010 à 01:11
Probleme Connexion Espace membre
Voici mon problème, je me suis servi du tuto sur l'espace membre pour créé un espace membre sur mon site. Pour se qui est de l'inscription tout va bien les données sont belle et bien stockées dans ma base mysql. Le probleme est lors de la connection. Lorsque je rentre mon login et mon mot de passe, je clique sur connection puis je recoit le retour d'erreur "Au moins un des champs est vide.", pourtant j'ai bien entrée les données. smiley

Voici mon code php:

<?php
// 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 ('espace_membre', $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="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.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'];
header('Location: inscription.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.';
}
}
?>

______

Et voici mon formulaire de connexion:

<form action="index.php" method="post">
LOGIN: <input name="Login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"> &nbsp;&nbsp;&nbsp;
PASSWORD: <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"> &nbsp;&nbsp;&nbsp;
<input type="submit" name="connexion" value="Connexion">
</form>

<?php
if (isset($erreur)) echo ' ',$erreur;
?>

_____

Merci d'essayer de trouver le probleme. smiley

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours