Création
d'entreprise
Posez votre question Signaler

Formaulaire de login PHP + Session [Résolu]

DAG - Dernière réponse le 2 mai 2010 à 22:30
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 !
Lire la suite 

Formaulaire de login PHP + Session »

Suggestions
7 réponses
Réponse
+1
moins plus
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());
Ajouter un commentaire
Réponse
+0
moins plus
L'erreur est au début du code PHP.
Il ne faut pas oublier de mettre <?php au lieu de <?

Voila...
Ajouter un commentaire
Réponse
+0
moins plus
Ah oui merci beaucoup, je rectifie le tir !

A+
Ajouter un commentaire
Réponse
+0
moins plus
[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à!
anonymous - 2 mai 2010 à 21:47
ta réflexion vaut pour toi aussi ...

tout dépends de la configuration de ton serveur php plus particulièrement de la variable "short_open_tag" dans ton php.ini bien qu'étant par défaut sur on, tu peux pour des raison de plus grande compatibilité la mettre sur off personnellement je la désactive ;)
Ajouter un commentaire
Réponse
+0
moins plus
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 !
anonymous - 2 mai 2010 à 22:30
j'avais pas lu jusqu'au bout ^^ dans la dernière bouture de PHP la variable en question est par défaut à on ^^ plus à off... si tu mets short_open_tag à on tu autorise l'ouverture du code php par un short tag, <? ^^ short_open_tag=off t'oblige à utiliser la version longue ^^, <?php

voilà ceci pour éclaircir un point, que tu a soulever car dans ton poste tu semblais dire que short_open_tag=on empêchait l'ouverture par le short tag ;)
Ajouter un commentaire
Ce document intitulé « Formaulaire de login PHP + Session » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?