Problème poster un commentaire
Résolu/Fermé
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
-
20 mai 2015 à 18:10
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 18 juin 2015 à 21:06
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 18 juin 2015 à 21:06
A voir également:
- Problème poster un commentaire
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Comment poster une vidéo sur tiktok - Guide
- Easy poster printer - Télécharger - Divers Photo & Graphisme
- Logiciel poster - Télécharger - Divers Photo & Graphisme
- Formate de commentaire ✓ - Forum Excel
3 réponses
jordane45
Messages postés
38269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 novembre 2024
4 694
Modifié par jordane45 le 27/05/2015 à 23:24
Modifié par jordane45 le 27/05/2015 à 23:24
Bonjour,
Si tu veux envoyer les données de ton formulaire dans la même page... pas besoin de faire ce que tu as fais :
... il suffit de laisser l'attribut ACTION .. à vide.
Comme ceci :
Ensuite...
Place le code de connexion à ta BDD dans un fichier à part ( et UNIQUEMENT CA...)
Ne pas oublier des attributs pour les champs HTML ... comme le "type" de ton input "post" !
Vérifier, avec ISSET que les variables existent AVANT de les utiliser !
Utilisation des requête préparées pour éviter les problèmes d'injection sql, les soucis de quotes/ doubles quotes dans la requête......
Enfin... donc dans ta page formulaire.php :
Cordialement,
Jordane
Si tu veux envoyer les données de ton formulaire dans la même page... pas besoin de faire ce que tu as fais :
<form action="formulaire.php" method="post" onsubmit="self.close()">
... il suffit de laisser l'attribut ACTION .. à vide.
Comme ceci :
<form action="" method="post" >
Ensuite...
Place le code de connexion à ta BDD dans un fichier à part ( et UNIQUEMENT CA...)
<?php //--------------------------------------------// // Fichier de connexion à la BDD // connexionBDD.php //--------------------------------------------// try { $db = new PDO('mysql:host=192.168.1.22;dbname=test', 'LOGIN', 'PASSWORD', array(1002 => 'SET NAMES utf8')); $db->exec("SET CHARACTER SET utf8"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); } catch(PDOException $e) { echo 'Erreur : '.$e->getMessage(); echo 'N° : '.$e->getCode(); } ?>
Ne pas oublier des attributs pour les champs HTML ... comme le "type" de ton input "post" !
Vérifier, avec ISSET que les variables existent AVANT de les utiliser !
Utilisation des requête préparées pour éviter les problèmes d'injection sql, les soucis de quotes/ doubles quotes dans la requête......
Enfin... donc dans ta page formulaire.php :
<?php //--------------------------------------------------// // fichier : formulaire.php //--------------------------------------------------// // connexion à la BDD: require_once "connexionBDD.php"; // Le temps des tests.. pour voir ce qui est reçu dans la variable // $_POST : echo "<pre> <b>==> POST :</b><br>"; print_r($_POST); echo "</pre>"; //------------------------------------ //traitement du submit : //------------------------------------ //récupération des variables : $post = isset($_POST['post']) ? $_POST['post'] : NULL; $commentaire= isset($_POST['commentaire']) ? $_POST['commentaire'] : NULL; try{ $sql = "INSERT INTO coms(post) VALUES (:commentaire)"; $params = array(":commentaire"=>$commentaire); $prepare = $db->prepare($sql); $prepare->execute($params); }catch(PDOException $e) { echo 'Erreur : '.$e->getMessage(); echo 'N° : '.$e->getCode(); } ?> <!-- formulaire html --> <form action="" method="post"> <p>Votre commentaire:</p> <input type="text" name="post" value="<?php echo $post ;?>"> <textarea name="commentaire" style="width:500px;height:200px;"><?php echo $commentaire ;?></textarea><br/> <input type="submit" value="Envoyer"> </form>
Cordialement,
Jordane
Thorak83
Messages postés
1051
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
22 décembre 2017
156
20 mai 2015 à 18:24
20 mai 2015 à 18:24
Bonjour,
vous devriez faire le
dans le fichier formulaire.php car c'est lui qui est appelé par le bouton subit et qui reçoit les données
vous devriez faire le
<?php include("addcom.php"); ?>
dans le fichier formulaire.php car c'est lui qui est appelé par le bouton subit et qui reçoit les données
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
27 mai 2015 à 22:32
27 mai 2015 à 22:32
Bonjour je comprend pas trop ce que vous voulez dire...
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
18 juin 2015 à 20:17
18 juin 2015 à 20:17
Bonjour, le problème sais la page pour poster le commentaire dès qu'elle est ouverte ça poste même quand il y a rien
jordane45
Messages postés
38269
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 novembre 2024
4 694
18 juin 2015 à 20:31
18 juin 2015 à 20:31
Tu peux ajouter un IF
//------------------------------------ //récupération des variables : $post = isset($_POST['post']) ? $_POST['post'] : NULL; $commentaire= isset($_POST['commentaire']) ? $_POST['commentaire'] : NULL; if($post && $commentaire){ try{ $sql = "INSERT INTO coms(post) VALUES (:commentaire)"; $params = array(":commentaire"=>$commentaire); $prepare = $db->prepare($sql); $prepare->execute($params); }catch(PDOException $e) { echo 'Erreur : '.$e->getMessage(); echo 'N° : '.$e->getCode(); } }
flo39400
Messages postés
596
Date d'inscription
mardi 8 avril 2008
Statut
Membre
Dernière intervention
9 septembre 2021
21
18 juin 2015 à 21:06
18 juin 2015 à 21:06
merci beaucoup résolut
Modifié par flo39400 le 28/05/2015 à 02:07
Car la il me met deux champs de textes a remplir alors que il devrai en avoir que 1 seul non ?
Mais ce que j'aimerai sais que le membre connecter qui écris le commentaire sois enregistré comme tel que son pseudo apparaisse comme les autres que j'ai entré manuellement mais sais dans une autre table les membres ( "membre" ).
Avec l'id, le pseudo ( "login" ) , le mot de passe ( " pass_md5 ") et l'e-mail ( " email " ).
Je vous met un lien afin que vous constaté par vous même:
http://www.dieutopgun.synology.me/test/index.php
pseudo: admin mp: admin ( sais informations seront supprimé sous peu de temps )
28 mai 2015 à 09:45
J'ai repris le code que tu nous avais montré ....
Il y a un INPUT ... ET un TEXTAREA .. donc DEUX champs !
Si tu n'en veut qu'un .. il te faut en retirer un !
Je n'ai rien compris .....
Pourrais-tu être un peu plus clair et précis ?
PS : on écrit " c'est" ... et non "sais" !
PS2 : Le proxy de ma boite m'empêche d'accéder à ton site.. je ne peux pas aller regarder.
PS3 : Il s'agit là d'une nouvelle question ... il serait donc souhaitable que tu place celle-ci en RESOLU .. et que tu en ouvres une autre. Cela facilite les recherches sur le site.....
Merci.
Modifié par flo39400 le 28/05/2015 à 22:17
Warning: PDOStatement::execute(): SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'post' cannot be null in /volume1/web/test/postcom2.php on line 25
28 mai 2015 à 22:19
29 mai 2015 à 00:59