Problème intégration formulaire --> table SQL

Résolu/Fermé
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015 - Modifié par NHenry le 13/11/2015 à 22:42
kelux Messages postés 3074 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 - 14 nov. 2015 à 13:16
Bonjour,

Voilà depuis quelque heures j'ai un petit problème, j'aimerais faire un système de concours, genre la personne rentre son nom est un chiffre au hasard, quand la personne clique sur validée les données vont dans la table SQL.

J'ai différant problème.


Problème 1 :

Tout marche sauf une fois les coordoné rentré genre :

Nom Yve
Code : 542

Sur la BDD

Nom : (il y a rien)
Code (il y a rien)

Problème 2


Parse error: syntax error, unexpected '$identity' (T_VARIABLE) in ... on line 18

________________________
Voici le code



<?php

  try {
     $user = 'xxxxxx;
     $pass = 'xxxxxx';
     $dbname = xxxxxx';
     $host = 'xxxxxx';
     //---
      $bdd = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    }
      catch (Exception $e) {
         die('Erreur : ' . $e->getMessage());
    }

      $identity=$_POST['identity'];
      $code=$_POST['code'];    

     $bdd->exe("INSERT INTO concours VALUES('', '$identity', '$code')");
      ?>

<html>
  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  </head>

        <body>

            <form action="particpant.php" method="post"> 
              Nom complet:
             <input type="text" name="identity"/><br/> 
              Code :
             <input te="text" name="code"/><br/> 
              
              <input type="submit"value="valider"/> 
            </form> 

        </body>
</html>


Bref j'aimerais de l'aide ;)

Cordialement.

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

Merci d'y penser dans tes prochains messages.

6 réponses

Bonjour

Tu pourrais expliquer un peu mieux ta situation ? Car si tu as une "Parse error", ton script n'est pas exécuté du tout et tu ne risques pas d'insérer quoi que ce soit dans ta base.

D'autre part, avec ce code, tu as sûrement une erreur avant la ligne 18 : tu oublies la moitié des apostrophes autour des chaînes ! Alors soit le code que tu donnes n'est pas le bon, soit le message d'erreur n'est pas le bon.
Si tu veux de bonnes réponses, donne de bons éléments.
1
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
13 nov. 2015 à 22:52
Bonjour,
Déjà merci pour votre rapidité !

On va expliquer mon problème, enfin le premier.
ERREUR : Parse error: syntax error, unexpected '$identity' (T_VARIABLE) in ..... on line 19
 

**BDD HIDE**

     $bdd = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass);
    }
      catch (Exception $e) {
         die('Erreur : ' . $e->getMessage());
    }

      $identity=$_POST['identity'];
      $code=$_POST['code'];    


      $bdd->exec('INSERT INTO concours(identity, code) VALUES('$identity', '$code')');

echo 'Le jeu a bien été ajouté !';
?>
?>

<html>
  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  </head>

        <body>

            <form action="particpant.php" method="post"> 
              Nom complet:
             <input type="text" name="identity"/><br/> 
              Code :
             <input te="text" name="code"/><br/> 
              
              <input type="submit"value="valider"/> 
            </form> 

        </body>
</html>


Voilà cela fais déjà 3 heures, que je bloque dessus..
0
Tiens, effectivement, le code n'était pas le bon. Et il fallait qu'on devine l'erreur...
Si tu bloques depuis 3 heures sur cette erreur, tu devrais relire l'écriture des chaînes en PHP : ça fait partie des notions de base.
Dans ta requête, si tu veux utiliser des variables directement (ce qui est une grave erreur avec PDO, mais qui n'est pas interdit), il faut que tu entoures ta chaîne de " et non pas de ' :
"INSERT INTO concours(identity, code) VALUES('$identity', '$code')"
1
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
14 nov. 2015 à 00:04
Bonjour, merci du code j'ai plus d'erreur.

Maintenant les données ne s'incrivent pas sur la table SQL..

Je vois pas ou et le problème ?
0
Utilisateur anonyme
14 nov. 2015 à 00:27
Si tu ne vois pas d'où vient le problème, essaye de le trouver un faisant un
echo $identity,' ',$code;
juste avant ta requête, pour voir si tu as bien les valeurs attendues.
1
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
Modifié par LeCodeurInvisible le 14/11/2015 à 00:33
Bon, regarder, quand je rentre les identifiants :
Nom:
Code a trouver:

 <body>

            <form action="particpant.php" method="post"> 
              Nom complet:
              <?echo $identity,' ',$code;?> 
             <input type="text" name="identity"/><br/> 
              Code :
             <input te="text" name="code"/><br/> 
              
              <input type="submit"  value="valider"/> 
            </form> 

        </body>

Voilà le formulaire, après je clique sur valider, aucune table se créer sur ma bdd..
0
Utilisateur anonyme
14 nov. 2015 à 00:40
1 - la balise pour le PHP, c'est <?php pas <? tout court. (En fait <? est peut-être autorisé par la configuration de ton serveur, mais c'est fortement déconseillé)
2 - Je t'avais dit de mettre le echo juste avant la requête. Pourquoi tu l'as mis là ? Tu ne sais pas ce que c'est qu'une requête ? Est-ce que tu comprends à quoi sert ce echo ?
3 - Il n'y a aucune raison qu'une table se crée dans ta bdd. ton code est fait pour insérer des données, pas pour créer des tables.
0
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
Modifié par LeCodeurInvisible le 14/11/2015 à 00:45
Oui, pardon je me suis mal expliquer..

L'écho je sais pas pourquoi il est là..

Je vous envois des screens :
Je veux quand il clique sur validé les informations se mettent là.
http://www.noelshack.com/2015-46-1447458252-1447458232.png

Sinon j'ai un participant.php les données sont bien affichier
http://www.noelshack.com/2015-46-1447458329-1447458273.png
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
14 nov. 2015 à 01:01
Tu as posé une question sur une erreur de syntaxe au départ, j'y ai répondu.
Après quelques échanges, il est clair que tu n'as aucune notion de programmation. Le but du forum n'est pas de te donner une formation, ni de faire ton travail à ta place. Je suis désolé de ne pas pouvoir t'aider davantage pour ma part.
Tu peux poser une nouvelle question, tu auras peut-être plus de chance avec quelqu'un d'autre.
0
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
14 nov. 2015 à 01:02
Merci quand même!
Bonne Soirée.
0
kelux Messages postés 3074 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 432
14 nov. 2015 à 01:18
<form action="particpant.php" method="post">

Faute de frappe ?
Participant.php

En espérant qu'elle existe ... puisque c'est cette page qui récupère les variables en POST ...
0
LeCodeurInvisible Messages postés 8 Date d'inscription vendredi 13 novembre 2015 Statut Membre Dernière intervention 14 novembre 2015
14 nov. 2015 à 10:06
Noon, vous inquiéter pas ;)
Il y a rien dedans.
0
kelux Messages postés 3074 Date d'inscription vendredi 18 juin 2004 Statut Contributeur Dernière intervention 20 janvier 2023 432
14 nov. 2015 à 13:16
Et cela ne vous pose pas de souci ?
Avez vous bien saisi la méthode POST ?

--> c'est cette page qui récupère les variables en POST
Donc Mettez votre code d'insertion en DB dans cette page ...
0