par
artotal » 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']"
mais peut être que quelqu'un pourrai me dire pourquoi ?
$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 </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=""> 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);
?>
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
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']"
mais peut être que quelqu'un pourrai me dire pourquoi ?
[php]$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 </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=""> 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);
?>
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>[/php]
merci