Rechercher : dans
Par :

Formaulaire de login PHP + Session

Dernière réponse le 31 oct 2008 à 19:25:12 DAG, le 29 jui 2008 à 18:06:32 
 Signaler ce message aux modérateurs

Bonjour, j'ai un soucis avec un formulaire de login PHP.
Voici le code (je l'est trouvé à l'adresse suivante : http://www.phpdebutant.org/article47.php)

Fichier HTML :

<form action="login.php" method='post'>
<table align="center" border="0">
  <tr>
    <td>Login :</td>
    <td><input type="text" name="login" maxlength="250"></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input type="password"name="pass" maxlength="10"></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" value="log in"></td>
  </tr>
</table>
</form> 


Fichier PHP :

<?
$serveur = "localhost";
$nom_base = "utilisateur";
$login = "root"; 
$pwd =""; 

mysql_connect ($serveur,$login,$pwd) or die ("ERREUR " . mysql_error());
mysql_select_db ($nom_base) or die ("ERREUR " . mysql_error());

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) 
{
  extract($_POST);
  $sql = "SELECT pwd FROM tbl_user where login=\"$login\";";
  echo $sql;
  $req = mysql_query($sql) or die("Erreur SQL !<br>" . $sql . "<br>" . mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['pwd'] != $pass) 
  {
    echo "<p>Mauvais login / password. Merci de recommencer</p>";
    include('login.html'); 
    exit;
  }
  else 
  {
    session_start();
    $_SESSION['login'] = $login;
    echo "Vous etes bien logué";
  }   
}
else 
{
  echo "<p>Vous avez oublié de remplir un champ.</p>";
   include('login.html'); // On inclut le formulaire d'identification
   exit;
}
?>



ça m'a l'air d'être un truc bateau comme tout ... mais pourtant lorsque j'essais de me logger il m'affiche :

" . $sql . "
" . mysql_error()); $data = mysql_fetch_assoc($req); if($data['pwd'] != $pass) { echo "

Mauvais login / password. Merci de recommencer
"; include('login.html'); // On inclut le formulaire d'identification exit; } else { session_start(); $_SESSION['login'] = $login; echo "Vous etes bien logué"; // ici vous pouvez afficher un lien pour renvoyer // vers la page d'accueil de votre espace membres } } else { echo "

Vous avez oublié de remplir un champ.
"; include('login.html'); // On inclut le formulaire d'identification exit; } ?>



Quelqu'un aurai-t-il une idée ? C'est vraiment bizarre, je ne vois pas ou est l'erreur !

Meilleures réponses pour « Formaulaire de login PHP + Session » dans :

1

DAG, le 29 jui 2008 à 18:15:06

L'erreur est au début du code PHP.
Il ne faut pas oublier de mettre <?php au lieu de <?

Voila...

Répondre à DAG

2

brothergas6, le 29 jui 2008 à 19:33:50
  • +1

IL Y A UNE ERREUR DE SYNTAXE QUI S'EST GLISSE DANS TON SCRIPT AU LIEU DE: or die("Erreur MySQL :".mysql_error()); TU AS PLUSTOT : or die("Erreur SQL !<br>" . $sql . "<br>" . mysql_error());

Répondre à brothergas6

3

DAG, le 30 jui 2008 à 11:00:11

Ah oui merci beaucoup, je rectifie le tir !

A+

Répondre à DAG

4

omer, le 31 oct 2008 à 15:27:05

[quote]L'erreur est au début du code PHP.
Il ne faut pas oublier de mettre <?php au lieu de <?

Voila...
/quote

Mais lol... quand on connait pas on dit rien !!

<? et <?php c'est interprété exactement de la même façon !!, l'erreur ne vient pas du tout de là!

Répondre à omer

5

 DAG, le 31 oct 2008 à 19:25:12

Ben je pensais aussi, mais si tu regardes bien le fichier php.ini il y a une option short_open_tag qui est par défaut a OFF. Cependant si tu la mets a ON il ne veut plus de <? et préfère largement <?php ;-)

C'était une erreur à la con genre oublis de ";" !! C'est assez énervant ces erreurs !

Répondre à DAG
Collection CommentÇaMarche.net