Rechercher : dans
Par :

Enregistrer l'adresse IP des posteurs

Dernière réponse le 6 avr 2008 à 12:33:15 letoine, le 5 avr 2008 à 20:28:04 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Enregistrer l'adresse IP des posteurs » dans :
Enregistrer l'adresse IP des visiteurs de votre site Voir Enregistrer l'adresse IP des visiteurs de votre site A quoi cela sert-il Comment enregistrer ces adresses IP ? A quoi cela sert-il Si jamais vous êtes victime d'une attaque, ou d'une tentative de hack, il peut être utile de savoir qui ...
Comment connaitre son adresse IP ? VoirLes quelques commandes ci-dessous vous permettront de trouver l'adresse IP de votre ordinateur. Connaître son adresse IP Sous Windows 2000 / Windows XP / Windows Vista Sous Windows 95 / Windows 98 Sous Linux Pourquoi certains sites...
Comment changer son adresse IP ? VoirDeux cas possibles Connaître son IP Changer d'IP (cas d'une IP dynamique) Solution alternative : masquer son IP L'adresse IP est une série de chiffres, soit: L'adresse IP que vous utilisez pour vous connecter au routeur (Réseau...
Conflit d'adresse IP VoirProblème de conflit IP Lorsque vous essayez de vous connecter, le système vous signale un conflit d'adresse IP ou bien la connexion saute constamment. Ceci est probablement lié au fait que deux ordinateurs sur le réseau tentent d'obtenir la même...
Adresse IP VoirSommaire Qu'est-ce qu'une adresse IP Déchiffrement d'une adresse IP Adresses particulières Les classes de réseaux (obsolète) Classe A Classe B Classe C Attribution des adresses IP Adresses IP réservées Masques de sous-réseau Interet...
Usurpation d'adresse IP (Mystification / Spoofing) VoirL'usurpation d'adresse IP L'« usurpation d'adresse IP » (également appelé mystification ou en anglais spoofing IP) est une technique consistant à remplacer l'adresse IP de l'expéditeur d'un paquet IP par l'adresse IP d'une autre machine. Cette...

1

Nico_, le 5 avr 2008 à 21:50:17

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.

Répondre à Nico_

2

letoine, le 5 avr 2008 à 22:05:01

Arf merci mais ca ne marche toujours pas, j'ai encore "91121 " en IP Qui peut le plus peut le moins

Répondre à letoine

3

Nico_, le 5 avr 2008 à 22:29:36

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

Répondre à Nico_

4

letoine, le 6 avr 2008 à 09:29:17

Merci beacoup j'ai compris l'erreur,

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

Qui peut le plus peut le moins

Répondre à letoine

5

 Nico_, le 6 avr 2008 à 12:33:15

Bonjour,

pas de problème !

Bonne journée

Répondre à Nico_