Livre d'or
Axblade28
Messages postés
95
Statut
Membre
-
Axblade28 Messages postés 95 Statut Membre -
Axblade28 Messages postés 95 Statut Membre -
Bonjour,
Je cherche a créé un livre d'or et j'aimerais que 1 fois que quelqu'un a écrit un message il ne puisse plus en réécrire donc jai pensez a un systeme pour garder lip jai donc créé une table qui concerve l'ip et cella marche pourtant dans mon code on peux réécrire autant de message que l'on veux :
PS : include.php correspond au mysql_connect et mysql_db
Je cherche a créé un livre d'or et j'aimerais que 1 fois que quelqu'un a écrit un message il ne puisse plus en réécrire donc jai pensez a un systeme pour garder lip jai donc créé une table qui concerve l'ip et cella marche pourtant dans mon code on peux réécrire autant de message que l'on veux :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<style type="text/css">
form
{
text-align:center;
}
</style>
<body>
<?php
function get_ip(){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];}
else{ $ip = $_SERVER['REMOTE_ADDR'];}
return $ip;}$ip = get_ip();
?>
<?php
if (isset($_POST['pseudo']) AND isset($_POST['message']))
{
if ($_POST['pseudo'] != NULL AND $_POST['message'])
{
if ($reponse == NULL)
{
include("include.php");
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$message = nl2br($message);
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$timestamp = time();
$reponse = mysql_query("SELECT ip FROM minichat WHERE ip='$ip'");
mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message', '$timestamp', '$ip')");
mysql_close();
}
}
}
echo $ip
?>
<form action="livreorr.php" method="post">
<p>
Pseudo : <p><input type="text" name="pseudo" /><br />
<p>
Laisser un commentaire : <p><textarea name="message" rows="8" cols="45">
Tapez votre message ici !
</textarea><br />
<input type="submit" value="Poster votre message" />
</p>
</form>
<?php
include("include.php");
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,15");
mysql_close();
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p><h3>---------------------------------------</h3>
<p>
<strong><?php echo $donnees['pseudo']; ?></strong><i> à écrit : </i><p>
<?php echo $donnees['message']; ?></p>
<p><sup><i>Merci à <?php echo $donnees['pseudo'] ?> pour ce commentaire écrit le <?php echo date('d/m/Y', $donnees['timestamp']) ?> à <?php echo date('H\h i\m\i\n s\s', $donnees['timestamp']) ?></i></sup>
<?php
}
?>
</body>
</html>
Configuration: Windows XP Firefox 3.0.3
PS : include.php correspond au mysql_connect et mysql_db
3 réponses
-
je ne mis connais pas trop en php mais je pense qui faudrais dans ton codage une boucle qui controle l'ip de la personne qui va poster dans le livre d'or
-
L'ip est inscrit dans la base SQL quand quelqu'un post un message grace a se script l'ip se stock dans la dernière colone : ip maintenant j'aimerais que pour mettre un message l'ip ne doit pas être présente dans la colone sinon c'est qu'il a deja posté un message
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Livre d'or</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <style type="text/css"> form { text-align:center; } </style> <body> <?php function get_ip(){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];} elseif(isset($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP'];} else{ $ip = $_SERVER['REMOTE_ADDR'];} return $ip;}$ip = get_ip(); ?> <?php include("include.php"); $reponsee = mysql_query("SELECT ip FROM minichat"); while ($donneees = mysql_fetch_array($reponsee) ) { echo $donneees['ip']; echo "<br />"; } mysql_close(); ?> <?php if (isset($_POST['pseudo']) AND isset($_POST['message'])) { if ($_POST['pseudo'] != NULL AND $_POST['message']) { if ($don == 0) { include("include.php"); $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); $message = nl2br($message); $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo'])); $timestamp = time(); $retour = mysql_query('SELECT COUNT(*) WHERE ip='$ip'); $don = mysql_fetch_array($retour); mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message', '$timestamp', '$ip')"); mysql_close(); } } } ?> <form action="livreorr.php" method="post"> <p> Pseudo : <p><input type="text" name="pseudo" /><br /> <p> Laisser un commentaire : <p><textarea name="message" rows="8" cols="45"> Tapez votre message ici ! </textarea><br /> <input type="submit" value="Poster votre message" /> </p> </form> <?php include("include.php"); $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,15"); mysql_close(); while ($donnees = mysql_fetch_array($reponse) ) { ?> <p><h3>---------------------------------------</h3> <p> <strong><?php echo $donnees['pseudo']; ?></strong><i> à écrit : </i><p> <?php echo $donnees['message']; ?></p> <p><sup><i>Merci à <?php echo $donnees['pseudo'] ?> pour ce commentaire écrit le <?php echo date('d/m/Y', $donnees['timestamp']) ?> à <?php echo date('H\h i\m\i\n s\s', $donnees['timestamp']) ?></i></sup> <?php } ?> </body> </html>
Enfaite je cherche à compter le nombre ip dans la colone ip qui son égale a $ip voila