Livre d'or

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 :

<!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

  1. 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
    0
    1. 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
      0
      1. <!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
        0