Enregistrer l'adresse IP des posteurs

Résolu
letoine Messages postés 1624 Statut Membre -  
Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit script de livre d'or qui marche très bien.
Je me suis créer une petite partie admin, ou l'adresse IP devrait apparaitre mais elle apparait mal ! J'ai ca "91121" au lieu de l'ip du posteur :s

Je vous donne mon code :

Partie index :
<form method="post" action="suite.php">
Pseudo<br>
<input type="text" name="pseudo">
<br>Message <br>
<input type="password" name="message"><br><br>

<input type="submit" value="Go !"></form>


La sauvegarde du message et de l'ip :
<?php
mysql_connect("sql.olympe-network.com", "xxx", "xxx");
mysql_select_db("xxx");

$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
$ip = $_SERVER["REMOTE_ADDR"]; 

mysql_query("INSERT INTO livre VALUES('', '$pseudo', '$message', '$ip')");

mysql_close();
?>

Sachant que j'ai un champ id(mediumint), un champ pseudo(text), un champ message(text) et un champ ip(mediumint)

Ma partie d'administration est :
<?php
mysql_connect("sql.olympe-network.com", "xxx", "xxx");
mysql_select_db("xxx");
 
$reponse = mysql_query("SELECT * FROM livre");
 
 

 
while ($donnees = mysql_fetch_array($reponse) )
{
?>
 
<p>
Message n°<?php echo $donnees['id']; ?> poste par <?php echo $donnees['pseudo']; ?><br />
Message : <?php echo $donnees['message']; ?> <br />
IP : <?php echo $donnees['ip']; ?>
</p><br /><br /><br />
 
<?php
}
 
mysql_close(); 
?>


Comme dit plus haut, tout fonctionne sauf l'ip !
Ca ne vient pas de $_SERVER["REMOTE_ADDR"]; car quand je fait :
echo $_SERVER["REMOTE_ADDR"]; 


J'ai ma vrai IP

Je ne vois pas du tout où est l'erreur !

Je vous remercie d'avance !

--
Qui peut le plus peut le moins
Configuration: Windows Vista
Firefox 2.0.0.13

3 réponses

  1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
     
    bonsoir,

    pour le formulaire de mon site, je le fais de la manière suivante:

    j'ai rajouter le champs caché dans la balise du formulaire:

    <input name="ip" type="hidden" value="<? echo $ip; ?>">


    Avant la balise du formulaire il y a:
    <? $ip = $_SERVER["REMOTE_ADDR"]; ?>


    bonne soirée, si jamais ça peux aider.
    0
  2. letoine Messages postés 1624 Statut Membre 320
     
    Arf merci mais ca ne marche toujours pas, j'ai encore "91121 " en IP
    0
    1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
       
      voici comment je fais:

      page d'enregistrement dans la bbd (Form_MSG.php)

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <link rel="icon" type="image/gif" href="dependant/favicon.gif" />
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>confirmation d'envoi</title>
      </head>
      <?
      $date = $_POST['date'];
      $ip = $_POST['ip'];
      $message = nl2br($_POST['message']);
      mysql_connect("localhost", "base", "MDP"); // Connexion à MySQL
      mysql_select_db("base"); // Sélection de la base 
      $reponse = mysql_query("SELECT * FROM table"); // Requête SQL
      mysql_query("INSERT INTO table VALUES(' ','$date','$ip','$message')");
      mysql_close(); // Déconnexion de MySQL
      echo'<p class="Style21">Votre site à été ajouter. Vous allez être redirigé. Bonne journée'
      ?>

      la page d'ajout:
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <script language="JavaScript">function verifSelection() 
      {if (document.forml.site.value == "") {
      alert("Ecrire le message avant de l'envoyer !")
      return false
      }
      </script>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Formateur JSP</title>
      
      <link href="http://infoxp.leobaillard.org/dependant/css.css" rel="stylesheet" type="text/css" />
      <link href="../dependant/css.css" rel="stylesheet" type="text/css" />
      </head>
      
      <body {background-color="#CABOFF"}>
      <?php
      mysql_connect("localhost", "base", "MDP"); // Connexion à MySQL
      mysql_select_db("base"); // Sélection de la base 
      $reponse = mysql_query("SELECT * FROM table"); // Requête SQL
       
      // On fait une boucle pour lister tout ce que contient la table :
       
      while ($donnees = mysql_fetch_array($reponse) )
      {
      ?>
            <?php echo '<p align="left" class="boitemsg">LE : <strong>' .$donnees['date'] .'</strong><br /> PAR : <strong>' .$donnees['formateur'].'</strong><br />Message: <strong>' .$donnees['message'].'</strong>'; ?> 
              <?php
      }
      mysql_close(); // Déconnexion de MySQL
      ?>
      <?php
       $ip = $_SERVER['REMOTE_ADDR'];//On obtient l'adresse IP
       ?>
      	</p>
          <p align="left" class="Style24">Formulaire d'ajout d'un message:</p>
          <form id="form1" name="form1" method="post" action="Form_MSG.php" onSubmit="return verifSelection()">
            <p>
              <input type="hidden" name="date" value="<?php
            setlocale( LC_TIME, 'fr_FR.ISO88591' );
            echo strftime("%A %e %B %Y", time() );
            ?>" />
              Date:<span class="Style3"> </span><?php
            setlocale( LC_TIME, 'fr_FR.ISO88591' );
            echo strftime("%A %e %B %Y", time() );
            ?>
              <br />
              <input type="hidden" name="ip" value="<?	echo $ip; ?>" />
              Adresse IP: <span class="Style3">
                <?	echo $ip; ?>
                </span>
              <br />
              Message:
              <textarea name="message" cols="70" rows="4"></textarea>
              </p>
            <p align="center">
              <input name="Submit" type="submit" class="Style34" value="Ajouter le message" />
              <br />      
                <input name="Submit2" type="reset" class="Style36" value="R&eacute;initialiser le message" />
            </p>
          </form>   

      les champs de ma bbd:

      ID (mediumint) EXTRA auto-incremente
      date (texte)
      ip (texte)
      message (texte)

      PS: pour ce qui est de la date, il se peux que ça ne fonctionne pas, c'est le code de l'hébergeur pour avoir la date en français.
      bonne soirée
      0
  3. letoine Messages postés 1624 Statut Membre 320
     
    Merci beacoup j'ai compris l'erreur,

    Pour le champ ip il fallait un "text" pas un "mediumint"

    0
    1. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
       
      bonjour,

      pas de problème !

      Bonne journée
      0