Probleme avec formulaire de connexion

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme avec formulaire de connexion

Re: Probleme avec formulaire de connexion

par Javeec » 22 nov. 2011, 18:31

c'était juste le point virgule. (à moins que tu parle du premier problème qui était un petit mélange de ma part entre plusieurs concept assez compliqués...)

Re: Probleme avec formulaire de connexion

par zeus » 22 nov. 2011, 11:20

Et pour les suivants, qui liront ce sujet, quelle était l'erreur ?

Zeus, qui déprime quand il tombe sur un message qui correspond à mon erreur, et que l'auteur n'a pas partagé la réponse

Re: Probleme avec formulaire de connexion

par Javeec » 20 nov. 2011, 20:03

Pour finir j'ai trouvé l'erreur tout seul, mais merci quand même.

Re: Probleme avec formulaire de connexion

par moogli » 20 nov. 2011, 12:48

Juste au cas où tu a regardé le code ?

Comment dans la plus part des cas le problèmes ce situe à la ligne précédente.
Le message indique que ligne 18 il ne devrait pas y avoir de variable !
Pourquoi ? Parce que ligne 17 j'ai oublier un point virgule .....

c'est peu la base ;)


@+

Re: Probleme avec formulaire de connexion

par Javeec » 18 nov. 2011, 18:45

Merci pour ta réponse.
J'ai mis exactement le même code et j'obtient le message suivant
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\Medieval Baston avec bdd\connexion2.php on line 18
La ligne 18 étant celle de close cursor. Une idée du problème?

Re: Probleme avec formulaire de connexion

par moogli » 17 nov. 2011, 12:01

salut,

c'est quoi ne fonctionne pas en fait ?

ça t'affiche quelque chose ?

au pif tu n'aurais pas un e de trop dans passeword :roll:

sinon ton code à l'air presque correct sauf que
- il te manque l'indiquation du type de retour [url=http://www.php.net/manual/fr/pdostateme ... chmode.php] PDOStatement::setFetchMode[/php] je n'ai pas trouvé s'il y a avit un type par défaut
- tu te mélange les pinceaux entre les procédure stockée et l'utilisation plus classique de PDO
- je te conseil de relire un tuto sur PDO et l'emploi de procédure stockée
- d'ailleurs ici pas besoin de procédure stockée, un simple query suffit

par contre la chute est brutal en cas d'erreur avec PDO, plutôt qu'un die, l'affichage d'un message d'erreur correct serait plus mieux :)
try
{
     $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
     $bdd = new PDO('mysql:host=localhost;dbname=joueurs', 'root', '', $pdo_options);
     
     $reponse = $bdd->query('SELECT passeword FROM joueurs WHERE pseudo='.$bdd->quote($_POST['pseudo']));
     $donnees = $reponse->fetch(PDO::FETCH_ASSOC)
     $reponse->closeCursor();
     if ($donnees['passeword'] != $_POST['passeword']) {
echo 'booouuuuuuhhhhh tu t\'es gouré de mot de passe boulet ^^';
}
else {
echo 'bienvenu mon seigneur';
}
}
 catch(Exception $e)
{
    echo '<p class="erreur">Il y a eu une erreur <br />'.$e->getMessage().'</p>';
}
bon faut ajouter les tests d'existence et cohérence des donnée issues de $_POST et une bonne gestion des erreurs ($reponse peux être false et ne pas lever d'exception)


@+

Probleme avec formulaire de connexion

par Javeec » 16 nov. 2011, 22:39

Bonjour à tous,
J'aimerais que mes visiteurs puissent s'incrire sur mon jeu. Le jeu en lui même est fonctionnel, mais pour l'instant il faut recommencer à chaque fois.
J'ai d'abord fait une première page avec un formulaire qui envoie deux variable par la méthode POST à la seconde. (mot de passe et pseudo) J'aimerais que la seconde se connecte à la BDD (déja faite bien sûr), "sorte" le mot de passe qui va avec le pseudo et compare les deux mots de passes. (celui de la BDD et celui envoyé par le visiteur par l'intermédiaire du formulaire. Voila ma seconde page en l'état actuel.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Connexion</title>
	    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Site" href="Javeecs game.css" />
   </head>
   <body>
    <h1>Medieval Baston</h1>
	<?php
	/////////////brut
try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=joueurs', 'root', '', $pdo_options);
    
    $reponse = $bdd->query('SELECT passeword FROM joueurs WHERE pseudo= ?');
    $req->execute(array($_POST['Pseudo']));
    while ($donnees = $reponse->fetch())
    {
        echo ' ' . $donnees['passeword'] . '';
    }
    
    $reponse->closeCursor();
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
?>
	<?php/*
	/////////////marche pas
	$pseudo=$_POST['Pseudo'];
	$passeword1=$_POST['Passeword'];
try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=joueurs', 'root', '', $pdo_options);
$req = $bdd->prepare('SELECT  passeword, id FROM joueurs WHERE pseudo = \'pseudo\'')
'pseudo'=>$pseudo;
;
));

echo '<p>Vous vous êtes connecté avec succés.</p>';
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
*/
?>

	<p>copyright 2011 Javeec</p>
   </body>
</html>
et voila la première
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Connexion</title>
	    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="Site" href="Javeecs game.css" />
   </head>
   <body>
    <h1>Medieval Baston</h1>


	<form action="connexion2.php" method="post">
<p>Pseudo<input type="text" name="Pseudo" maxlength="50"/></p>
<p>Passeword<input type="text" name="Passeword" maxlength="50"/></p>
<p><input type="submit" value="Send"/></p>
</form>

	<p>copyright 2011 Javeec</p>
   </body>
</html>
Quelqu'un a -t- il la solution?

Merci d'avance pour vos réponses.


PS: le problème n'est pas dans le nom de la BDD ou le mot de passe vu que la page d'inscription marche.