Lecture impossible dans la bdd query ?

Résolu/Fermé
c-de-lard-ou-du-cochon Messages postés 87 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 9 avril 2012 - 8 juil. 2010 à 13:31
c-de-lard-ou-du-cochon Messages postés 87 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 9 avril 2012 - 8 juil. 2010 à 15:32
Bonjour,


Voilà j'ai crée deux tables (mdp, info_util)* dans une bdd appelé happy, par l'intermédiaire d'un formulaire l'utilisateur rentre des données dans la base voici le code qui marche pour rentrer les données
(*info_util(id, util, email)
mdp(id, mot_de_passe))

<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=happy', 'root', '');
}
catch (Exception $e)
{
die('erreur : ' . $e->getMessage());
}

//on rentre dans la base de données les informations saisies par l'utilisateur

$bdd->exec("INSERT INTO info_util VALUES (' ',' ".$_POST['pseudo']." ',' ".$_POST['email']." ')" );
$bdd->exec("INSERT INTO mdp VALUES (' ', ' ".$_POST['mdp']." ')");
header('Location: transition.php');

?>


Ensuite par la redirection on arrive sur la page transition.php

où l'on propose à l'utilisateur de se logger via un formulaire xhtml également. Là je désire faire le test si id mot de passe = id utilisateur alors on arrive sur l'acceuil sinon on affiche un message d'erreur, voici mon code qui plante à la ligne

$a = $bdd->query('select id from info_util where nom_util=' ".$_POST['pseudo']." '');

en m'indiquant Parse error: parse error in C:\wamp\www\testtbdd\acceuil.php on line 28



<!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>Happymitiz</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="happymitiz_design.css" />
</head>


<body>
<p>bienvenue sur le site</p>
<form method="post" action="acceuil.php">
<p>
<label for="pseudo"> votre pseudo :</label> <input type="text" name="pseudo" id="pseudo"><br/>
<label for="mdp"> votre mot de passe :</label> <input type="password" name="mdp" id="mdp"><br/>
<br/>
<input type="submit">
</p>
</form>


<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=happy', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}

$a = $bdd->query('select id from info_util where nom_util=' ".$_POST['pseudo']." '');
$id_util = $a->fetch();
$a->closeCursor();


$b = $bdd->query('select id from info_util where mdp=' ".$_POST['mdp']." '');
$id_mdp = $b->fetch();
$b->closeCursor();

if id_mdp = id_util
{
header("acceuil.php");
}
else
{
echo "veuillez rentrer un nom d'utilisateur et un mot de passe valide";
}
?>



</body>
</html>


Merci par avance du temps consacré à m'aider à trouver une solution.

A voir également:

2 réponses

Framboos Messages postés 85 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 27 septembre 2013 9
8 juil. 2010 à 14:41
slt,

Je pense que tu devrais mettre des guillemet double

à la place de :
$a = $bdd->query('select id from info_util where nom_util=' ".$_POST['pseudo']." '');

essayes ceci:
$a = $bdd->query("select id from info_util where nom_util='".$_POST['pseudo']."'");
1
c-de-lard-ou-du-cochon Messages postés 87 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 9 avril 2012 3
8 juil. 2010 à 15:32
Merci beaucoup ça marche. Enfin pas tout le code mais avant de poser d'autres questions je vais chercher par moi même.

En tout cas merci d'avoir résolu ce problème, bonne journée à vous.
0