Livre d'or

Fermé
Axblade28 Messages postés 95 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 18 décembre 2010 - 26 oct. 2008 à 01:03
Axblade28 Messages postés 95 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 18 décembre 2010 - 26 oct. 2008 à 14:01
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>



PS : include.php correspond au mysql_connect et mysql_db

3 réponses

Utilisateur anonyme
26 oct. 2008 à 02:55
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
Axblade28 Messages postés 95 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 18 décembre 2010 7
26 oct. 2008 à 09:31
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
Axblade28 Messages postés 95 Date d'inscription jeudi 4 octobre 2007 Statut Membre Dernière intervention 18 décembre 2010 7
26 oct. 2008 à 14:01
<!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