actualisation en php

Mammouth du PHP | 601 Messages

13 oct. 2006, 23:35

Bonjour,
j'ai un fichier de livre d'or qui à chaque fois quil se réactualise affiche un nouveau message et je crois que c'est à cause de "$_SERVER['PHP_SELF']"
http://creatif-web.be/assoc/essai3.php
mais peut être que quelqu'un pourrai me dire pourquoi ?
<?php
// fin de la connexion
$url = $_SERVER['PHP_SELF'];  
// On récupère les données postées : Voir les tutos dans la section "Débutez"
// On vérifie que les champs ne sont pas vides
if (!empty($name) && !empty($lemail) && !empty($comment)) 
{     
	$date = time();
	// Créé la requête
	$query = "INSERT INTO livre_d_or (date,name,email,comment,site) VALUES('$date','$name','$lemail','$comment', '$site')";
	$result = mysql_query($query) or die('Erreur SQL : '.mysql_error());
} 
	else
{
	// On affiche un message d'erreur
	echo '<script language="javascript">alert(\'Merci de remplir tout les champs.\');location.href='.$HTTP_REFERER.';</script>';
	echo '<noscript>Merci de remplir tout les champs. <a href="'.$HTTP_REFERER.'">retour</a></noscript>';
}
?>
<table width="100%"><tr><td>
<form method="post" action="<?php echo $url; ?>" onSubmit="return testform(this.name,this.lemail,this.comment)">
<input type="hidden" name="ajout" value="true">
	<tr>
		<td>* Nom&nbsp;&nbsp;</td>
		<td><input name="name" size="20"></td>
	</tr>
	<tr>
		<td height="">* Votre Email :</td>
		<td><input name="lemail" size="20"></td>
	</tr>
	<tr>
		<td height="">&nbsp;&nbsp;&nbsp;Site internet</td>
		<td><input name="site" size="20" value="http://"></td>
	</tr>
	<tr>
		<td colspan="2">
		<textarea name="comment" rows="4" cols="55"></textarea>
		<br /><br />
		<input type="Submit" value="Valider">
		<br />
		</td>
	</tr>
</table>
<strong>Il y a
<?php
// Requête ordonnant les messages par dates
$query = "SELECT date,name,email,comment,site FROM livre_d_or ORDER BY date DESC";
// Exécute la requête précédente
$result = mysql_query($query) or die('Erreur SQL : '.mysql_error()); 
// Renvoie le nombre de lignes pour pouvoir afficher le nombre total de messages postés
echo mysql_num_rows($result); 
?>
&nbsp;messages</strong>
<table><tr><td>
<?php
// Définit la boucle : tant qu'il y a des messages dans la BDD
while ($valeur = mysql_fetch_array($result)) { 
	echo '<br><span class="poster">Message de </span>';
	echo '<a href="mailto:'.$valeur['email'].'">'.ucfirst($valeur['name']).'</a>'; 
	echo '<span class="poster"> posté le : </span>';
	echo '<span class="">'.date('d/m/Y à H\hi',$val['date']).'</span><br />';

		if(strlen($valeur['site']) > 7)
		{
		echo 'site <a href="'.$valeur['site'].'" target="_blank">'.$valeur['site'].'</a><br />';
		}
		else
		{
		echo '';
		}
	echo '<div>'.nl2br(htmlentities($valeur['comment'])).'</div>';
	echo '<br /><a href="#">Haut</a><br /><hr size=1><br />';	
} 
?>
</form>
</td></tr>
</table>
merci
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Mammouth du PHP | 601 Messages

13 oct. 2006, 23:56

La solution est là
if (!empty($_POST['name']) && !empty($_POST['lemail']) && !empty($_POST['comment'])) 
	{     
		$date = time();
		$query = "INSERT INTO livre_d_or (date,name,email,comment,site) VALUES('$date','$name','$lemail','$comment', '$site')";
		$result = mysql_query($query) or die('Erreur SQL : '.mysql_error());
	} 
	else
	{
		echo '<script language="javascript">
				alert(\'Merci de remplir tout les champs\');
			</script>';
		echo '<noscript>Merci de remplir tout les champs. <a href="'.$_SERVER['HTTP_REFERER'].'">retour</a></noscript>';
	}
La morale de tout sa, est que tout est dans la façon de faire...
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"