Formulaire
Résolu/Fermé3 réponses
Utilisateur anonyme
15 août 2016 à 13:12
15 août 2016 à 13:12
Bon déjà 2-3 petits trucs, entoure ton code avec les balises code car sinon c'est dur de le lire. Ensuite pour afficher un <br> tu peux faire ça:
Après il y a aussi le header:
Ensuite ici tu peux changer aussi:
Car si tu met rien [] ça incrémente seul, et quand tu incrémente $k++ la valeur actuelle est retournée, donc tu peux oublier le $i=0.
Et à quoi sert ton $zone4=$_POST['date']; car tu le réutilises pas ensuite.
Après je ne comprend pas trop bien ce que tu veux dire par les données s'insèrent en plusieurs ligne et non une seule? Tu veux dire au niveau du INSERT INTO, pourquoi il y a plusieurs lignes dans la bases de données?
echo "<br>";
// Au lieu de ça:
?>
<br>
<?php
Après il y a aussi le header:
<?php
header('Content-Type: text/html; charset=utf-8');
...
// Au lieu de ça:
<head>
<meta charset="utf-8"/>
</head>
<?php
...
Ensuite ici tu peux changer aussi:
$loi[$i++]=$donne[$k];
$k++;
// Par:
$loi[]=$donne[$k++];
Car si tu met rien [] ça incrémente seul, et quand tu incrémente $k++ la valeur actuelle est retournée, donc tu peux oublier le $i=0.
Et à quoi sert ton $zone4=$_POST['date']; car tu le réutilises pas ensuite.
Après je ne comprend pas trop bien ce que tu veux dire par les données s'insèrent en plusieurs ligne et non une seule? Tu veux dire au niveau du INSERT INTO, pourquoi il y a plusieurs lignes dans la bases de données?
Utilisateur anonyme
16 août 2016 à 12:24
16 août 2016 à 12:24
Que veux tu dire par problème d'insertion, car sans ta BDD et ton formulaire on comprend pas vraiment le résultat que tu obtiens et celui que tu espères donc soit plus precis
--
--
Il faut les héberger sur un site comme ici: http://www.noelshack.com/ et copier le lien dans le forum. Après si tu peux montre la structure complète de ta BDD, ton formulaire, et expliquer le résultat que tu veux, on pourra t'aider.
jordane45
Messages postés
38359
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
29 décembre 2024
4 720
16 août 2016 à 13:57
16 août 2016 à 13:57
Bonjour,
Déjà, commence par mettre la connexion à ta BDD dans un fichier à part que tu n'auras inclure
dans les pages où tu en as besoin.
Pense aussi à y activer les erreurs PDO (option désactivée par défaut).
Comme ceci :
Ensuite, dans ton code :
Ensuite, au lieu de faire des boucles sur tes résultats (via des fetch...) pourquoi n'utilises-tu pas un fetchAll() ?
Pour finir, je t'invite fortement à lire ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Puis à utiliser les requêtes préparées.
NB : Pour mettre à jour une ligne dans ta table .... il faut utiliser un UPDATE et non un INSERT.
PS: Pour poster des images sur le forum il suffit d'utiliser le bouton REPONDRE (au lieu de passer par les commentaires...) un bouton permettant l'ajout d'images est alors présent.
Déjà, commence par mettre la connexion à ta BDD dans un fichier à part que tu n'auras inclure
dans les pages où tu en as besoin.
Pense aussi à y activer les erreurs PDO (option désactivée par défaut).
Comme ceci :
<?php //Connexion à la BDD : Fichier cnxbdd.php try{ $db=new PDO("mysql:host=localhost;dbname=php;charset=utf8",'root',''); //activation des erreurs PDO $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); }catch(PDOException $e){ echo $e->getMessage(); die(); } ?>
Ensuite, dans ton code :
<?php //On met le header en utf8 header('Content-Type: text/html; charset=utf-8'); //Connexion à la BDD require_once "cnxbdd.php"; //initialisation des variables $k=0; $i=0; $zone=0; //Récupération "propre" des variables de ton formulaire : $zone4=!empty($_POST['date']) ? $_POST['date'] : NULL ; //...le reste de ton code ?>
Ensuite, au lieu de faire des boucles sur tes résultats (via des fetch...) pourquoi n'utilises-tu pas un fetchAll() ?
Pour finir, je t'invite fortement à lire ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Puis à utiliser les requêtes préparées.
NB : Pour mettre à jour une ligne dans ta table .... il faut utiliser un UPDATE et non un INSERT.
PS: Pour poster des images sur le forum il suffit d'utiliser le bouton REPONDRE (au lieu de passer par les commentaires...) un bouton permettant l'ajout d'images est alors présent.
Je vous remercie beaucoup pour votre aide..L'erreur s'est affiché et je l'ai résolu ..Et ce qui concerne le UPDATE je vais pas l'utiliser à la place de INSERT INTO car je veux insérer, pas modifier...et à propos de :
c'est pas vraiment la même chose..j'obtient pas le même résultats.
Et encore une fois mercii beaucoup pour ton aide...=D !!
//Premiere expression; $loi[]=$donne[$k]; $k++; //Deuxieme expression: $loi[]=$donne[$k++];
c'est pas vraiment la même chose..j'obtient pas le même résultats.
Et encore une fois mercii beaucoup pour ton aide...=D !!
Modifié par je t'aime 19962 le 16/08/2016 à 12:20