Votre question

Livre d'or

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
2 Octobre 2009 14:06:39

Voilà j'ai un formulaire et je veux pouvoir afficher les message posté voici mon code en partit.
<form id="formulaire" method="post" action="<?php $_SERVER['PHP_SELF'];?>" >
<input type="hidden" name="ajout" value="true">
if (isset($_POST['ajout']))
$ajout=true;
else
$ajout=false;

if ($ajout) {
// On récupère les données postées
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$message = $_POST['zone'];

//On vérifit que les champs ne sont pas vide
//On créé la requête

//on fais l'affichage

<?php mysql_close(); ?>

Mais quand je fais ça ca ne marche pas comme je veux j'ai plusieurs erreurs :
-quand j'actualise la page il reposte le dernier message
-quand je poste un message vide j'ai des message d'erreur en javascript c'est normal, mais quand je remplis et je poste mon vrai message, un message vide est posté avec celui qui est rempli.

Merci de votre aide

Autres pages sur : livre

2 Octobre 2009 23:46:51

didinux55 a dit :

Mais quand je fais ça ca ne marche pas comme je veux j'ai plusieurs erreurs :
-quand j'actualise la page il reposte le dernier message

Normal, tu envoies les memes donnees que quand tu as charge la page la premiere fois. Pour eviter ca tu peux faire une redirection sur ta page directement apres le traitement de la requete.
didinux55 a dit :

-quand je poste un message vide j'ai des message d'erreur en javascript c'est normal, mais quand je remplis et je poste mon vrai message, un message vide est posté avec celui qui est rempli.

Tu dois mal traiter ton formulaire. Sans code, on ne pourra pas de te venir en aide.
m
0
l
3 Octobre 2009 13:37:24

c'est normal je veux que tout soit sur la même page.

Ok je t'envoie tout mon code

<h1>Laissez un message sur mon livre d'or!</h1>
<div id="guestbook">
<form id="formulaire" method="post" action="<?php $PHP_SELF;?>" >
<input type="hidden" name="ajout" value="true">
<p><label> Nom:</label><input type="text" name="nom"/></p>
<p><label> email:</label><input type="text" name="mail"/></p>
<p><label>Entrer votre texte:</label><textarea cols="40" rows="5" name="zone"></textarea></p>
<p><input type="reset" value="Effacer"/><input type="submit" value="Envoyer" name="Envois"/></p>
</form>
</div>
<?php
if (isset($_POST['ajout']))
$ajout=true;
else
$ajout=false;

if ($ajout) {
// On récupère les données postées
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$message = $_POST['zone'];

//On vérifit que les champs ne sont pas vide

//On définit la variable de date
$date = time();

//On créé la requête
$query = "INSERT INTO guestbook (date,name,email,comment) VALUES ('$date','$nom','$mail','$message')";
$result = mysql_query($query,$Connexion);

}
//}
?>
<table width="100%" height="100%">
<tr><td>
<b>
<?php
//Requête ordonnant les messages par date
$query="SELECT date,name,email,comment FROM guestbook ORDER BY date DESC";
$result=mysql_query($query,$Connexion);
//Renvoie le nombre de lignes pour pouvoir afficher le nombre total de messages postés
echo mysql_num_rows($result);
?>
messages
</b>
<table width="95%"><tr><td>
<hr size=1>
<?php
// Définit la boucle : tant qu'il y a des messages dans la BDD
while ($val = mysql_fetch_array($result))
{
echo '<font color="black" face="verdana, arial">Message de : </font>';
// Affiche le pseudo du posteur de message (avec lien mailto:) 
echo '<a href="mailto:'.$val['email'].'">'.$val['name'].'</a>';
echo '<font color="black" face="verdana, arial"> Posté le : </font>';
// Affiche la date où a eté posté le message
echo '<font color="orange">'.date("d/m/Y",$val['date']).'</font>';
// Affiche le message posté
echo '<div>'.htmlentities($val['comment']).'</div>';
echo '<hr size=1>';
}
?>
</td></tr></table>
</td></tr></table>
</div>
<?php mysql_close();
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS