Enregistrer l'adresse IP des posteurs

Résolu/Fermé
letoine Messages postés 1382 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 31 mai 2015 - 5 avril 2008 à 20:28
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 - 6 avril 2008 à 12:33
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 !

3 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
5 avril 2008 à 21:50
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
letoine Messages postés 1382 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 31 mai 2015 318
5 avril 2008 à 22:05
Arf merci mais ca ne marche toujours pas, j'ai encore "91121 " en IP
0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
5 avril 2008 à 22:29
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
letoine Messages postés 1382 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 31 mai 2015 318
6 avril 2008 à 09:29
Merci beacoup j'ai compris l'erreur,

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

0
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
6 avril 2008 à 12:33
bonjour,

pas de problème !

Bonne journée
0