Code erreur sur page de connexion
Résolu
Hector187
Messages postés
8
Statut
Membre
-
tidjool -
tidjool -
Bonjour,
je me tourne vers vous afin de m'aider à résoudre un problème. je m'entraine à créer une page de connexion afin d'accéder à un site voici mon codage :
<body>
<?php
if(!isset($_POST['pseudo']) OR !isset($_POST['mdp']))
{
?>
<form method="post" action="phptest.php" >
<label> Pseudo </label> <input type="text" name="pseudo" />
<label> Password </label> <input type="password" name="mdp" />
<input type="submit" value="Valider" />
</form>
<?php
}
elseif (empty($_POST['pseudo'])OR empty($_POST['mdp']))
{
?>
<p> Non Non Non choupinou tu as commis une erreur !!!!! <br />
Allez recommence tu peux le faire !!!!
</p>
<form method="post" action="phptest.php" >
<label> Pseudo </label> <input type="text" name="pseudo" />
<label> Password </label> <input type="password" name="mdp" />
<input type="submit" value="Valider" />
</form>
<?php
}
else
{
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare('SELECT id FROM inscription WHERE pseudo = :pseudo AND password = :mdp ') ;
$req->execute(array('pseudo' => $_POST['pseudo'], 'password' => $_POST['mdp'])) or die(print_r($req->errorInfo()));
$donnees = $req->fetch();
if (!empty($donnees['id']))
{
echo 'Bienvenue à toi ' . $_POST['pseudo'] . 'Bro fais toi plaisir !!';
}
else
{
echo 'Erreur connexion impossible, veuillez rentrer un pseudonyme valide ainsi que le mot de passe';
}
$req->closeCursor();
}
?>
</body>
voici l'erreur qque cela m'affiche : Warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in...
puis : Array ( [0] => HY093 [1] => [2] => ) 1
je n'arrive pas à savoir si je n'ai pas le bon nombre de paramètres ou ils sont incorrects ? une idée ? merci d'avance...
je me tourne vers vous afin de m'aider à résoudre un problème. je m'entraine à créer une page de connexion afin d'accéder à un site voici mon codage :
<body>
<?php
if(!isset($_POST['pseudo']) OR !isset($_POST['mdp']))
{
?>
<form method="post" action="phptest.php" >
<label> Pseudo </label> <input type="text" name="pseudo" />
<label> Password </label> <input type="password" name="mdp" />
<input type="submit" value="Valider" />
</form>
<?php
}
elseif (empty($_POST['pseudo'])OR empty($_POST['mdp']))
{
?>
<p> Non Non Non choupinou tu as commis une erreur !!!!! <br />
Allez recommence tu peux le faire !!!!
</p>
<form method="post" action="phptest.php" >
<label> Pseudo </label> <input type="text" name="pseudo" />
<label> Password </label> <input type="password" name="mdp" />
<input type="submit" value="Valider" />
</form>
<?php
}
else
{
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$req = $bdd->prepare('SELECT id FROM inscription WHERE pseudo = :pseudo AND password = :mdp ') ;
$req->execute(array('pseudo' => $_POST['pseudo'], 'password' => $_POST['mdp'])) or die(print_r($req->errorInfo()));
$donnees = $req->fetch();
if (!empty($donnees['id']))
{
echo 'Bienvenue à toi ' . $_POST['pseudo'] . 'Bro fais toi plaisir !!';
}
else
{
echo 'Erreur connexion impossible, veuillez rentrer un pseudonyme valide ainsi que le mot de passe';
}
$req->closeCursor();
}
?>
</body>
voici l'erreur qque cela m'affiche : Warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in...
puis : Array ( [0] => HY093 [1] => [2] => ) 1
je n'arrive pas à savoir si je n'ai pas le bon nombre de paramètres ou ils sont incorrects ? une idée ? merci d'avance...
2 réponses
-
Salut,
il manque les options de connection pdo en 4ième paramètre
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); -
Merci tidjool de ta réponse j'ai trouvé mon erreur et j'ai rectifié le tire erreur sur la correspondance entre les champs de ma bdd et ceux de mon formulaire ^^.
Je sais...