Erreur fatale lors de l'enregistrement

AlexMarie007 Messages postés 20 Date d'inscription vendredi 15 mai 2015 Statut Membre Dernière intervention 22 décembre 2015 - 2 déc. 2015 à 13:39
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 2 déc. 2015 à 13:49
Bonjour, je vous sollicite pour secourir car j'ai vraiment un mal de tête avec cette erreur fatal dont j'ignore la provenance étant un nouveau en poo php.

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\wamp\www\cnps\index.php on line 17

Et voici mes codes

login.php


<?php
session_start();

include_once 'fonction/Authentification.php';

$bdd = new PDO('mysql:host=localhost;dbname=gestion','root','*****');

if(isset($_POST) and !empty($_POST['pseudo_membres']) and !empty($_POST['pass_membres'])){

extract($_POST);

$sql = 'SELECT id FROM membres SET pseudo_membres = :pseudo_membres && SET pass_membres = :pass_membres ';

$exec = $bdd->query($sql) ;

$affiche = $exec->setFetchMode(PDO::FETCH_NUM);

if($affiche ->fetch() > 0){

$_SESSION['Auth'] = array(
'pseudo_membres' => $_POST['pseudo_membres'],
'pass_membres' => $_POST['pass_membres']
);

header('Location: ./users_reporting.php');
}
else {
return 'Nom utilisateur ou mot de passe incorrect';
}


}

?>
<html>
<head>
<head>
<title>CONNEXION</title>
<link type="text/css" rel="stylesheet" href="../static/css/designer.css">
<link rel="Shortcut Icon" type="image/x-icon" href="static/images/favicon.ico">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>

<body style="background: url('../static/images/background.gif') center top no-repeat;">
<br/><br/><br/><br/><br/> 
<center>
<!--CETTE PARTIE DU CODE TRAITE L'AFFICHAGE DU FORMULAIRE CONNEXION-->
<div id="aff-connexion" class="posts"> 
<div class="connexion">
<div class="connexion">
<img width="320px" height="80px" src="../static/images/base_docu.png" alt="Espace connexion">
</div>
<div class="connexion2" >
<form method="post" name="" id="" action="login.php">
<table width="100%" cellpadding="2" cellspacing="3" class="text">
<tr>
<td align="right" >
<label for="pseudo_membres"><strong><em>Utilisateur   :</em></strong></label>
</td>
<td width="">
<input type="text" name="pseudo_membres" title="Entrez votre nom utilisateur" required="required"
size="15" onChange="javascript:this.value=this.value.toUpperCase();">
</td>
</tr>
<tr>
<td align="right" width="">
<label for="pass_membres"><strong><em>Mot de passe   :</em></strong></label>
</td>
<td width="">
<input type="password" name="pass_membres" title="Entrez votre mot de passe" required="required" size="15">
</td>
</tr>
<tr>
<td align="right" width="">
<strong><em>Connexion auto.</em></strong>
</td>
<td>
<input type="checkbox" name="memorize" id="memorize" value="yes">
</td>
</tr>
<tr>
<td align="right">
<a href="souscription.php" style="text-decoration: none">S'inscrire</a></td>
<td>
<input type="submit" name="seconnecter" value="CONNEXION" class="bouton">
<input type="hidden" name="verif">
<?php

?>

</td>
</tr>
</table>
</form>
<!--span>Cliquez <a href="inscription.php">ici</a> pour vous inscrire</span-->
</div>
</div> 
</div>
</center>
</body>
</html>


Authentification.php


<?php

/* Declaration de la classe authentification
defined($Admin, "Admin");
defined($Password, "Admin001");
  • / class Auth { // Une fonction qui permettra de verifier //les parametres de connexion de l'utilisateur static function IsLogged(){ if(isset($_SESSION['Auth']) and isset($_SESSION['Auth']['pseudo_membre']) && isset($_SESSION['Auth']['email_professionnel'])){ extract($_SESSION['Auth']); //include('../lib/pdoconnexion.php'); $bdd = new PDO('mysql:host=localhost;dbname=gestion','root','*****'); //$sql = 'SELECT keyuser,(SELECT role_name From roles) FROM users WHERE user_name="$user_name" && user_pw="$user_pw" '; $sql = 'SELECT id FROM membres SET "pseudo_membres" = pseudo_membres && SET "pass_membres" = pass_membres '; echo $sql; $exec = $this->bdd->query($sql); $affiche = $exec->setFetchMode(PDO::FETCH_NUM); if($affiche ->fetch() > 0){ if(isset($affiche)){ header('Location: ./users_reporting.php'); } return true; } else{ return false; } } else{ return false; } } }

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
2 déc. 2015 à 13:49
Bonjour,

C'est quoi cette requête :
 $sql = 'SELECT id FROM membres SET pseudo_membres = :pseudo_membres && SET pass_membres = :pass_membres ';
 


Un SELECT avec des SET ?? Oo

Tu confonds avec le WHERE

 $sql = 'SELECT id FROM membres 
           WHERE pseudo_membres = :pseudo_membres 
               AND pass_membres = :pass_membres ';
      


0
Rejoignez-nous