Lecture impossible dans la bdd query ?
Résolu
c-de-lard-ou-du-cochon
Messages postés
91
Statut
Membre
-
c-de-lard-ou-du-cochon Messages postés 91 Statut Membre -
c-de-lard-ou-du-cochon Messages postés 91 Statut Membre -
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.
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.
2 réponses
-
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']."'"); -
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.