Requete de formulaire html vers base de données
Fermé
squaria
-
6 nov. 2016 à 18:38
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mars 2025 - 7 nov. 2016 à 11:02
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mars 2025 - 7 nov. 2016 à 11:02
A voir également:
- Requete de formulaire html vers base de données
- Formulaire de réclamation facebook - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Formules excel de base - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
3 réponses
Utilisateur anonyme
6 nov. 2016 à 20:26
6 nov. 2016 à 20:26
Bonjour,
je suis loin d'être un pro de php, mais dans ton load_join.php, tu mets :
Tu n'insères pas dans ton VALUES le champ 'intention'.
Je ne sais pas si cela vient de là, mais c'est la première chose qui m'a sauté au yeux.
A+
je suis loin d'être un pro de php, mais dans ton load_join.php, tu mets :
if (isset($_POST["submit"])) { $b_name=$_POST["name"]; $b_email=$_POST["email"]; $b_job=$_POST["job"]; $b_intention=$_POST["intention"]; $b_pays=$_POST["pays"]; $query="INSERT INTO infos (name,email,job,intention,pays) VALUES('$b_name','$b_email','$b_job','$b_pays')";
Tu n'insères pas dans ton VALUES le champ 'intention'.
Je ne sais pas si cela vient de là, mais c'est la première chose qui m'a sauté au yeux.
A+
Utilisateur anonyme
6 nov. 2016 à 21:16
6 nov. 2016 à 21:16
cool,
et tu as quoi à la ligne 33 ?
et tu as quoi à la ligne 33 ?
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
Modifié par squaria le 6/11/2016 à 21:19
Modifié par squaria le 6/11/2016 à 21:19
Il s'arrete a name mais sa vaut aussi pour les autres puisqu'il sont parreils
<td class="case_tableau_join"><?php echo '$data['name']' ?> </td> <td class="case_tableau_join"><?php echo '$data['email']' ?> </td> <td class="case_tableau_join"><?php echo '$data['job']' ?> </td> <td class="case_tableau_join"><?php echo '$data['intention']' ?> </td> <td class="case_tableau_join"><?php echo '$data['pays']' ?> </td>
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
Modifié par squaria le 6/11/2016 à 21:25
Modifié par squaria le 6/11/2016 à 21:25
non j'ai enlever le head mais sinon oui
le fichier en entier
le fichier en entier
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liste équipiers</title> <link rel="stylesheet" href="../style/style.css" /> </head> <body> <?php include('connect.php'); try { $requete = mysqli_query($bdd, 'SELECT name, email, job, intention, pays FROM infos'); while($data = mysqli_fetch_assoc($requete)) { ?> <table> <caption>Liste des équipiers du projet</caption> <tr id="entete_tableau_join"> <th>Nom</th> <th>Email</th> <th>Job</th> <th>intention</th> <th>pays</th> </tr> <tr id="ligne_tableau_join"> <td class="case_tableau_join"><?php echo '$data['name']' ?> </td> <td class="case_tableau_join"><?php echo '$data['email']' ?> </td> <td class="case_tableau_join"><?php echo '$data['job']' ?> </td> <td class="case_tableau_join"><?php echo '$data['intention']' ?> </td> <td class="case_tableau_join"><?php echo '$data['pays']' ?> </td> </tr> </table> <?php } $requete->closeCursor(); echo "données reçue"; } catch(Exception $e) { die('Erreur : '.$e->getMessage()); echo "données non reçue"; } ?> </body> </html>
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
6 nov. 2016 à 21:26
6 nov. 2016 à 21:26
la connection a la base de donnée avec mysqli
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
7 nov. 2016 à 02:29
7 nov. 2016 à 02:29
Bonjour,
Déjà...
1- $myrow n'existe pas ou j'ai mal vu .. ici ça serait plutôt : $data que tu devrais utiliser
2 - Tu as une accolade en trop visiblement
3 -
Que viennent faire les quotes autour de ta variable php ??
Tu aurais plutôt du écrire :
nb: il manquait aussi un point-virgule.
nb² : A faire aussi sur tes autres lignes de code
4 - Pour finir... penses à récupérer PROPREMENT tes variables AVANT de les utiliser.
Ceci est valable pour toutes les variables tableau ( POST / GET / SESSION / COOKIE .. et même les résultats du fetch.
Regarde ici comment faire : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Déjà...
/* now you can fetch the results into an array - NICE */ while ($data = $result->fetch_assoc()) { // use your $myrow array as you would with any other fetch printf("%s is in district %s\n", $city, $myrow['district']); { echo "test";
1- $myrow n'existe pas ou j'ai mal vu .. ici ça serait plutôt : $data que tu devrais utiliser
2 - Tu as une accolade en trop visiblement
3 -
<td class="case_tableau_join"> <?php echo '$data["name"]' ?> </td>
Que viennent faire les quotes autour de ta variable php ??
Tu aurais plutôt du écrire :
<td class="case_tableau_join"> <?php echo $data["name"]; ?> </td>
nb: il manquait aussi un point-virgule.
nb² : A faire aussi sur tes autres lignes de code
4 - Pour finir... penses à récupérer PROPREMENT tes variables AVANT de les utiliser.
Ceci est valable pour toutes les variables tableau ( POST / GET / SESSION / COOKIE .. et même les résultats du fetch.
Regarde ici comment faire : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
7 nov. 2016 à 02:35
7 nov. 2016 à 02:35
PS : Ta question concernant le code PHP ( et non la requête SQL...) je déplace le sujet dans le bon forum => PHP.
Merci d'y penser la prochaine fois.
Merci d'y penser la prochaine fois.
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
7 nov. 2016 à 08:12
7 nov. 2016 à 08:12
Merci de m'avoir donné une réponse aussi claire bon déjà sa je l'ai fait à la va vite par ce qu'il etait tard donc désolé pour les erreurs. Ensuite pour le point virgule on m'a dit sur un autre forum qu'elle était facultatif dans cette situation mais c'est vrai que je ne les ai pas écouté pour ça ^^. Bon l'à je vais tout faire ce que tu m'à demandé et je te donne les résultats ^^
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
7 nov. 2016 à 10:07
7 nov. 2016 à 10:07
Ça marche ! Mais j'ai quelques erreurs
https://www.zupimages.net/up/16/45/i8il.png
https://www.zupimages.net/up/16/45/i8il.png
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2025
4 740
>
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
7 nov. 2016 à 10:28
7 nov. 2016 à 10:28
Le message est clair ....
Tu n'as pas le même nombre de variables dans ta requête que dans le bind_param.
Autrement dit : Dans ta requête... tu n'as pas de WHERE .... donc 0 variables....
Pourquoi mettre un Bind_param alors ?
Tu n'as pas le même nombre de variables dans ta requête que dans le bind_param.
$requete = mysqli_prepare($bdd, "SELECT name, email, job, intention, pays FROM infos")) { /* Lecture des marqueurs */ mysqli_stmt_bind_param($requete, "s", $city);
Autrement dit : Dans ta requête... tu n'as pas de WHERE .... donc 0 variables....
Pourquoi mettre un Bind_param alors ?
squaria
Messages postés
85
Date d'inscription
dimanche 6 novembre 2016
Statut
Membre
Dernière intervention
27 août 2018
7 nov. 2016 à 10:35
7 nov. 2016 à 10:35
J'ai changé beaucoup de choses
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liste équipiers</title> <link rel="stylesheet" href="../style/style.css" /> </head> <body> <?php include('connect.php'); $name = isset($_GET['name']) ? $_GET['name'] : NULL; $email = isset($_GET['email']) ? $_GET['email'] : NULL; $job = isset($_GET['job']) ? $_GET['job'] : NULL; $intention = isset($_GET['intention']) ? $_GET['intention'] : NULL; $pays = isset($_GET['pays']) ? $_GET['pays'] : NULL; /* Crée une requête préparée */ if ($requete = mysqli_prepare($bdd, "SELECT name, email, job, intention, pays FROM infos")) { /* Lecture des marqueurs */ mysqli_stmt_bind_param($requete, "s", $name, $email, $job, $intention, $pays); /* Exécution de la requête */ mysqli_stmt_execute($requete); /* bind parameters for markers */ $requete->bind_param("s", $name, $email, $job, $intention, $pays); /* execute query */ $requete->execute(); /* instead of bind_result: */ $result = $requete->get_result(); /* now you can fetch the results into an array - NICE */ while ($data = $result->fetch_assoc()) { // use your array as you would with any other fetch echo "test"; ?> <table> <caption>Liste des équipiers du projet</caption> <tr id="entete_tableau_join"> <th>Nom</th> <th>Email</th> <th>Job</th> <th>intention</th> <th>pays</th> </tr> <tr id="ligne_tableau_join"> <td class="case_tableau_join"> <?php echo $data["name"] ; ?> </td> <td class="case_tableau_join"> <?php echo $data["email"] ; ?> </td> <td class="case_tableau_join"> <?php echo $data["job"] ; ?> </td> <td class="case_tableau_join"> <?php echo $data["intention"] ; ?> </td> <td class="case_tableau_join"> <?php echo $data["pays"] ; ?> </td> </tr> </table> <?php } echo "données reçue"; } /* Lecture des variables résultantes */ mysqli_stmt_bind_result($requete, $name, $email, $job, $intention, $pays); /* Récupération des valeurs */ mysqli_stmt_fetch($requete); /* Fermeture du traitement */ mysqli_stmt_close($requete); /* Fermeture de la connexion */ mysqli_close($bdd); ?> </body> </html>
Modifié par squaria le 6/11/2016 à 20:31
6 nov. 2016 à 21:13
et il y a bien les infos dans la table. Maintenant j'aimerai les récupérer dans un tableau (avec le fichier G2SOI8ZJ2Q9JOIN.php) mais pour l'instant j'ai cette erreur : Parse error: syntax error, unexpected 'name' (T_STRING), expecting ',' or ';' in /home/colabawa/public_html/info/G2SOI8ZJ2Q9JOIN.php on line 33