Warning: PDOStatement::execute() expects at most 1 [Résolu/Fermé]

Signaler
Messages postés
30
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
-
Messages postés
30
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020
-
Bonsoir

Je me résigne enfin à faire appelle à votre aide pour faire lumière sur ce problème.
Je suis novice en programmation et je ne fais que débuter

Si j'ai bien compris le script n,'attend qu'un seul argument, alors que je lui en donne 9 et j'attends qu'il me récupère les 9.

Comment je faire pour remedier à ce probleme.


Voici le message d'erreur :

Warning: PDOStatement::execute() expects at most 1 parameter, 9 given ....


Le problème se présente à la ligne de code 97



et voici le code qui va avec

     <?php require_once '../Fonctions.php' ?> 
        
        
        <?php
        
      if(!empty($_POST)){
            
            $errors=array();
        
           
                if(empty($_POST['Prenom'])){
                    
                    $errors['Prenom']="Vous n'avez pas saisi votre prénom";
                    
                }
           
           
                if(empty($_POST['Nom'])){
                    
                    $errors['Nom']="Vous n'avez pas saisi votre nom";
                    
                }
           
           
                if(empty($_POST['Pseudo']) or !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['Pseudo'])){
                    
                    $errors['Pseudo']="Vous n'avez pas saisi votre pseudo";
                    
                }
           
                
                if(empty($_POST['DateDeNaissance'])){
                    
                    $errors['DateDeNaissance']="Vous n'avez pas saisi votre date de naissance";
                    
                }
           
           
                if(empty($_POST['AdresseMail_1'])){
                    
                    $errors['AdresseMail_1']="Vous n'avez pas saisi votre adresse mail";
                    
                }
           
           
                if(empty($_POST['AdresseMail_2']) or !filter_var($_POST['AdresseMail_2'],FILTER_VALIDATE_EMAIL)){
                    
                    $errors['AdresseMail_2']="Vous n'avez pas confirmer votre adresse mail";
                    
                }
           
                
                if(empty($_POST['MotDePasse_1']) or $_POST['MotDePasse_1'] != $_POST['MotDePasse_2'])
                {
                    
                    $errors['MotDePasse_1']="Vous n'avez pas saisi votre mot de passe";
                    
                }
                
              debug ($errors);
           
                if($_POST['MotDePasse_1'] !== $_POST['MotDePasse_2'])
                {
                    
                    $errors['ConfirmationMp']="Vos 2 mots de passe ne sont pas identique";
                    
                }
           
           
                if(empty($_POST['MotDePasse_2'])){
                    
                    $errors['MotDePasse_2']="Vous n'avez pas confirmé votre mot de passe";
                    
                }
           
           
                if(empty($_POST['Promo'])){
                    
                    $errors['Promo']="Vous n'avez pas saisie votre mot code Promo ";
                    
                }
           
           var_dump($errors);
            
        }
        
   
        if (empty($errors)){
        
            
        require_once '../db.php';
        
       $req = $pdo -> prepare("INSERT INTO inscrits SET Formation = ?, Prenom = ?, Nom = ?, Pseudo = ?, Sexe = ?, DateDeNaissance = ?, AdresseMail_1 = ?, MotDePasse_1 = ?, Promo = ?");
            
        $MotDePasse_1 = password_hash($_POST['MotDePasse_1'], PASSWORD_BCRYPT);
            
        $req->execute([$_POST['Formation']], [$_POST['Prenom']], [$_POST['Nom']], [$_POST['Pseudo']], [$_POST['Sexe']],[$_POST['DateDeNaissance']], [$_POST['AdresseMail_1']], $MotDePasse_1,[$_POST['Promo']]);
        
       die("Votre compte à était créé avec succès !");
        
            
            
        }
 ?>





<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Page d'inscription</title>
    </head>
    <body>

        
        
        
        
        
        

        <p>Inscrivez-vous</p>
        <form action="" method="POST">
            <table>
                <tr>
                    <td >
                        A quelle formation vous inscrivez-vous ?
                    </td>
                    <td >
                        <select name="Formation">
                            <option value="mathematiques">Mathématiques</option>
                            <option value="conception_mecanique">Conception de systèmes mécaniques</option>
                        </select>
                    </td>
                </tr>
                
                
                <tr>
                    <td>
                        <label for="Prenom">Prénom :</label>
                    </td>
                    <td>
                        <input type="text" name="Prenom" id="Prenom" placeholder="Prénom">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="Nom">Nom :</label>
                    </td>
                    <td>
                        <input type="text" name="Nom" id="Nom" placeholder="Nom">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="Pseudo">Pseudo :</label>
                    </td>
                    <td>
                        <input type="text" name="Pseudo" id="Pseudo" placeholder="Pseudo">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="Sexe">Sexe :</label>
                    </td>
                    <td>
                        Femme<input type="radio" name="Sexe" value="Femme">
                        Homme<input type="radio" name="Sexe" value="Homme">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="DateDeNaissance">Date de naissance :</label>
                    </td>
                    <td>
                        <input type="date" name="DateDeNaissance" id="DateDeNaissance">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="AdresseMail_1">Adresse mail :</label>
                    </td>
                    <td>
                        <input type="email" name="AdresseMail_1" id="email" placeholder="Contact@contact.com">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="AdresseMail_2">Confirmer votre  adresse mail :</label>
                    </td>
                    <td >
                        <input type="email" name="AdresseMail_2" id="AdresseMail_2" placeholder="Contact@contact.com">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="MotDePasse_1">Choisisez votre code secret :</label>
                    </td>
                    <td>
                        <input type="password" name="MotDePasse_1" id="MotDePasse_1" placeholder="Votre de code secret">
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="MotDePasse_1">Confirmer votre code secret :</label>
                    </td>
                    <td >
                        <input type="password" name="MotDePasse_2" id="MotDePasse_2" placeholder="Votre de code secret">
                    </td>
                </tr>
      
                <tr>
                    <td>

                    </td>
                    <td >

                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" value="Cliquez ici pour nous demander le code Promo" name="DemandeCodePromo"/> 
                    </td>
                </tr>
                <tr>
                    <td>
                        <label for="Promo">Entrez votre code promotionel :</label>
                    </td>
                    <td>
                        <input type="number" name="Promo" id="Promo" placeholder="Votre promo">
                    </td>
                </tr>
            </table>
        <input type="submit" value="M'inscrire" name="ValiderInscription"/>     
        </form>
    </body>
</html>


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Messages postés
29639
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 septembre 2020
2 805
Bonjour
Tu as trop de crochets dans ton execute
Prends exemple ici

https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs
Messages postés
30
Date d'inscription
mercredi 18 avril 2018
Statut
Membre
Dernière intervention
9 février 2020

Un grand merci pour cette aide !