adresse ip à l'inscription

Invité
Invité n'ayant pas de compte PHPfrance

24 sept. 2007, 22:34

Bonjour,

comment fait-on exactement pour enregistrer l'adresse ip d'un membre lors d'une inscription?

j'ai cela qui marche bien:
<?php
include 'connexion.php';
if(isset($_POST['pseudo']))$login=$_POST['pseudo'];
else $login="";
if(isset($_POST['passe']))$passe=$_POST['passe'];
else $passe="";
if(isset($_POST['email']))$email=$_POST['email'];
else $email="";
if(isset($_POST['sexe']))$sexe=$_POST['sexe'];
else $sexe="";
if(isset($_POST['age']))$age=$_POST['age'];
else $age="";
if(empty($login) OR empty($passe) OR empty($email) OR empty($sexe) OR empty($age))
    {
    echo '<font face="Calligraph421 BT"> Attention ! Tous les champs ne sont pas correctement renseignés.</font>';
    }
 // on regarde si le type existe déjà
$req = mysql_query("select * from membres where pseudo='". $login ."'",$db)or die(mysql_error());
    // on compte le nombre de résultats
$res = mysql_num_rows($req); 
if($res!=0)  // le pseudo existe déjà, on affiche un message d'erreur
        {
echo '<center><font color="red">Désolé, mais ce pseudo est déjà pris !</font></center>';
        }
else  // Le pseudo est pas encore pris, on insère les informations du formulaire dans la table
        {    	
$sql = "INSERT INTO membres(id, pseudo, passe, email, sexe, age ) VALUES ('','$login','$passe','$email', '$sexe','$age', NOW())";
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
echo '<script language="Javascript">
<!--
document.location.replace("bravo.htm");
// -->
</script>';
mysql_close();  
    } 
?> 

Dès que je veux attaquer avec $_SERVER['REMOTE_ADDR'], rien ne marche plus....
Quelle serait donc la ligne correcte à ajouter pour mémoriser en base l'ip des membres?

:oops:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

24 sept. 2007, 22:40

Bonjour,

Il faut que tu ajoutes un champ "adresse_ip" dans ta table membres et ensuite que tu modifies de cette façon:
$sql = "INSERT INTO membres(id, pseudo, passe, email, sexe, age,adresse_ip ) VALUES ('','$login','$passe','$email', '$sexe','$age', NOW(),$_SERVER['REMOTE_ADDR'])";
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 2144 Messages

24 sept. 2007, 22:47

Attention, que l'ip d'un visiteur risque de changer d'une visite à l'autre.
Et que plusieurs visiteurs peuvent avoir la même adresse ip en même temps. (Routeur, proxy, etc)