Obtenir une reponse par php quand on poste un commentaire

Résolu/Fermé
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 - 27 août 2014 à 02:42
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 - 27 août 2014 à 21:21
bonjours


je suis en trein de faire un livre d'or
quand je poste un commentaire j'utilise ce script
<form method="post" action="livresub.php"> 
<label for="nom" >Votre nom : </label><br/>
<input type="text" name="nom"><br/>
<label for="mail" >Votre mail : </label><br/>
<input type="mail" name="mail"><br/>
<label style="vertical-align: top;">Votre commentaire : </label><br/>
<textarea rows="10" cols="50" name="message"></textarea><br/>

<input type="submit" value="Envoyer">
</form> 


la page livresub.php recoit l'info avec ce script
$req = $bdd->prepare('INSERT INTO livre (nom, mail, message, date, value) VALUES(?, ?, ?, now(), ?)');
$req->execute(array(htmlspecialchars($_POST['nom']), htmlspecialchars($_POST['mail']), htmlspecialchars($_POST['message']), 'false'));

header('Location: livre.php');

et me redirecte a la page principale
ce que je veut c'est qu'elle me redirecte a la page principale avec un message du genre "votre commentaire a bien été posté"
merci de votre aide ;)
A voir également:

3 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 27/08/2014 à 14:28
Salut,

Si tu veux le faire en php, tu peux ajouter un paramètre get dans ta redirection :
header('Location: livre.php?succes=1');


Puis dans livre.php ajoute (au dessus du formulaire par exemple) :
if (!empty($_GET['succes'])) {
    echo 'Message posté';
}


Petite remarque : l'utilisation de htmlspecialchars ou htmlentities à l'insertion des données en bdd n'est pas conseillé (sauf si tu veux laissé trainer des entités html dans ta base). Ces fonctions ne devrait être utilisées uniquement lors de l'affichage des données dans une page html.
Puisque tu utilises une requête préparée avec PDO, tes données sont automatiquement protégées contre les injections sql, pas besoin d'utiliser une autre fonction.

Bonne journée
1
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
27 août 2014 à 21:21
salut pitet
merci pour les info pitet surtout ceux des injection sql ça va m'eviter d'ecrire tjr htmlspecialchars -_-
portez vous bien :)
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
Modifié par mr_demonicon le 27/08/2014 à 13:29
tu rajoute
<script type="text/javascript">alert(message);</script>
et tu mets ton message dans
var message="votre message a ete posté a la prochaine"; 


Bonne continuation et n'oubliez pas le risque zéro c'est dans vos rêves.
0
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
Modifié par Mouslim02 le 27/08/2014 à 13:33
salut mr_demonicon
j'ai essayé le code que vous m'avez envoyé mais il ne marche pas
je pense que moi qui ne sais pas ou le placer
en effet je ne maitrise pas bien javascript
pourriez vous me dire ou le placer ?
merci :)
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
Modifié par mr_demonicon le 27/08/2014 à 15:04
<form method="post" action="livresub.php"> 
<label for="nom" >Votre nom : </label><br/>
<input type="text" name="nom"><br/>
<label for="mail" >Votre mail : </label><br/>
<input type="mail" name="mail"><br/>
<label style="vertical-align: top;">Votre commentaire : </label><br/>
<textarea rows="10" cols="50" name="message"></textarea><br/>

<input type="submit" value="Envoyer" onClick="alert('Votre message/commentaire a été posté')">
</form>

Voila en js cela donne une alerte qui va afficher malheureusement un bandeau ce qui peut gener l'utilisateur mais au moins il le verra
0
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
Modifié par Mouslim02 le 27/08/2014 à 15:30
salut je vien tout juste de me rendre compte que vous mavez repondu
donc il fallait le mettre dans le submit j'apprend avec vous
merci ^^
0
mr_demonicon Messages postés 828 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 9 avril 2016 126
27 août 2014 à 15:35
a votre service ^^
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
Modifié par Lapourax le 27/08/2014 à 14:41
En complément à la solution de Pitet :

C'est plus joli avec une div en haut de page. tu définie dans ton css une div rectangle toute belle en vert par exemple (vert = succes !) et dans ta page d'accueil:

<?php
if (!empty($_GET['succes'])) { ?>
    <div class="div_succes_comment">Votre message est bien enregistré !</div>
<?php
}
?>


Si tu définie une jolie div, tu peut obtenir un truc similaire au message de connexion de ccm


Le tout est de bien définir la css et l'endroit ou tu la positionne pour qu'elle s'intègre bien à ta page

EDIT : Image cliquable = plus lisible =P

La vie est un mystère qu'il faut vivre, et non un problème à résoudre. (Gandhi)
La meilleure manière d'atteindre le bonheur est de le donner aux autres. (Lord Baden-Powell)
0
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
27 août 2014 à 15:06
c'est ce qu'il me fallait
merci bcp lapourax :)
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
27 août 2014 à 15:08
Y'a pas de quoi =)
Pense à mettre le sujet en résolu =)
0
Mouslim02 Messages postés 318 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
27 août 2014 à 15:26
mdrrrr j'oublie tjr
voila ^^
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
27 août 2014 à 15:36
Pas de problème ça arrive ;-)
Bonne continuation =)
0