Erreur de code

Fermé
laurette97 Messages postés 5 Date d'inscription lundi 23 octobre 2017 Statut Membre Dernière intervention 25 octobre 2017 - Modifié le 25 oct. 2017 à 16:45
jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 - 25 oct. 2017 à 16:49
cc voila mon code et a l exécution je rencontre 3 problemes
1-me ramène un message d'erreur
(Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\xampp\enregistrement.php on line 33)

2-n’exécute pas le bouton valider

3-affiche directement le message de confirmation du succès de l'inscription au démarrage de la page
merci de votre aide

<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>ESSAIE DE REINE</TITLE>
<meta charset="utf-8" />
<HEAD>
<BODY>

 <FORM METHOD="post"  ACTION="enregistrement.php" >

  nom <input type = " text " name=" nom "> </BR></BR>
  prenom <input type = " text " name=" prenom "></BR></BR>
  contact <input type = " text " name=" numero "></BR></BR>

  <INPUT TYPE= "submit" NAME= "valid" VALUE = "valider">
  <INPUT TYPE= "reset" NAME= "delete" VALUE= "annuler">

 </FORM>
</BODY> 
   <?php

                   
       if (isset ($_POST['nom']) && isset ($_POST['prenom']) && isset ($_POST['numero']) && isset ($_POST['valid']) && empty ($_POST['valid']));
    {
    

          include ("connectdb.php");
          $req = $bdd->prepare('INSERT INTO gerant(nom, prenom,numero) VALUES(:nomgerant, :prenomgerant, :telephongerant,)');
       $req->execute(array(
       $nom = 'nomgerant',
       $prenom = 'prenomgerant',
       $numero = 'numerogerant',
                           ));

       echo ' vous etes bien enregistrer !';

   }

      
   ?>  

EDIT :Ajout des balises de code

Merci d'y penser la prochaine fois !

1 réponse

jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 4 739
25 oct. 2017 à 16:47
Bonjour,

Commence par ça :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Puis par ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Et enfin... modifie ton array de variables :
array(
       $nom = 'nomgerant',
       $prenom = 'prenomgerant',
       $numero = 'numerogerant',
                           )

par ceci :
array(
       ':nomgerant' => $nom,
       ':prenomgerant' => $prenom,
       ':numerogerant' => $numero
                           )

0
jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 4 739
25 oct. 2017 à 16:49
NB: En complément....
Si le traitement PHP se fait dans la même page que le formulaire (ce qui semble être le cas dans ton code....), laisse l'attribut "action" à vide dans ton formulaire.
Donc :
<FORM METHOD="post"  ACTION="enregistrement.php" >


Devient :
<form method="post"  action="" >
0