Php help me

Kim Reggis -  
 kim reggis -
salut a tous

je commence dans la programmation en php et je voulais savoir comment affciher l'adresse ip de mes visiteurs et l'enregistré dans ma base de donné
A voir également:

17 réponses

gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
L'IP est une varable superglobale : $_SERVER['REMOTE_ADDR']
il suffit donc de mettre :
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
pour afficher l'ip
Pour la base de données, tu as quel système ?
0
Kim Reggis
 
c'est à dire ?
0
gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
Ben si tu as une base de donnée mysql, postgresql ou xml par exemple.
0
Kim Reggis
 
j'ai une base de données mysql
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
as-tu créé une table (c'est à dire un espèce de dossier dans lequel tu mettre tes enregistrements) ?
Si non, as-tu un système d'admin mysql, pour simplifier la tache (il y en a sous free) ?
0
Kim Reggis
 
je n'ai pas crée de table mais j'ai un system admin mysql, je suis sous ifrance (sans vouloir faire de pub)
0
gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
ok, crée une nouvelle table (il te faudra apprendre à le faire tout seul alors je te décris la procédure)
tu nomme cette table liste_ip par exemple et tu met 2 choses :
1) l'id de tes ip, cela te permettra de les retrouve facilement.
2)tes IP qu on convertira en hexadécimal pour faire de la place.
Tu peut ajouter d'autres paramètres pour tes enregistrements.
Tu met l'id en "mediumint(9)" auto-increment
tes ip en char(8)

Ou tu exécute ce code 1 fois :
CREATE TABLE `liste_ip` (
`id` MEDIUMINT( 9 ) NOT NULL AUTO_INCREMENT ,
`ip` CHAR( 8 ) NOT NULL ,
UNIQUE (
`id`
)
) TYPE = MYISAM ;

Puis tu tape ce code pour aller chercher , convertir et enregistrer l'ip :
//récupère l'ip
$ip=$_SERVER['REMOTE_ADDR'] ;

//convertis l'ip
$ip=explode(".",$ip);
$ip=dechex($ip[0]).dechex($ip[1]).dechex($ip[2]).dechex($ip[3]);

//connecte à la bdd
@mysql_connect('localhost','login',pass');
//selction la bdd
@mysql_select_db("base de donnée");
//envoie les infos
$requette="INSERT INTO `liste_ip` ( `id` , `ip` ) VALUES ('' '','$ip'");";
if (@mysql_query($requette)) { echo "<br>L'ip est enregistrée"; }
else { echo "<br>une erreur est survenue lors du traitment de votre requête"; }
//ferme la connection
@mysql_close();

voila.Si il n'y a pas d'erreurs...
0
Kim Reggis
 
jte di si ça marhce attend
0
Kim Reggis
 
comment on execute le premier on le met en ligne sur le site et on y va ?
0
gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
oui. ou alors dans ton mysqladmin, il y a un endroit où exécuter des requettes sur la base
Si tu le met en ligne, oublie pas :
//connecte à la bdd
@mysql_connect('localhost','login',pass');
//selction la bdd
@mysql_select_db("base de donnée");
0
Kim Reggis
 
bon quand j'ai executé le premier code sur mon site dans mon navigateur j'ai eu parse error je doit coller le premier code entre <?php et
<? ou ?>
0
gluo Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   105
 
<? et ?> sont des balises rapides, préfère <?php et ?> car certains servers refusent ce genre d'abréviations.
Oublie ps de remplacer "base de données" par le nom de ta base de donnée
0
dice-man
 
le mieu se serai de me donner le tout dans un fichier php parceque je comprend pas voila mon mail si tu veux me me l'envoyer blackto@ifrance.com
0
mick3y
 
C'est simple.

Tu crées une table dans PhpMyAdmin. Tu l'appelles par exemple "liste_ip". Dans cette table, tu vas créer deux champs (un que tu nommeras ID (sans oublier de le mettre en "auto-increment) et l'autre tu le nommeras IP). Dès que c'est fait, tu dois coder ta page comme ceci :

<?php
$ip = $_SERVER['REMOTE_ADDR'];

mysql_connect('ton_serveur', 'ton_login', 'ton_mot_de_passe');
mysql_select_db('ta_base_de_donnees');

mysql_query('INSERT INTO liste_ip VALUES(\'\', \''.$ip.'\')') OR die(Erreur dans la requête);

mysql_query();
?>

Cette page va donc enregistrer l'IP de toutes les personnes qui viendront sur cette page. Si maintenant tu veux afficher les adresses IP enregistrées, tu dois faire ceci dans une autre page :

<?php
mysql_connect('ton_serveur', 'ton_login', 'ton_mot_de_passe');
mysql_select_db('ta_base_de_donnees');

$recup = mysql_query('SELECT ip FROM liste_ip') OR die(Erreur dans la requête);
while ($donnees = mysql_fetch_array($recup))
{
echo $donnees['ip'];
}

mysql_query();
?>
0
mick3y
 
Désolé, c'est :

mysql_close(); et non mysql_query(); pour fermer la connexion.
0
Kim Reggis
 
a ok je suis très car je n'ai pas fait que recoller le code mais je l'ai compris merci beaucoup
0
kim reggis
 
j'ai parler trop vite j'ai se message quand je cré la table !!! Erreur

requête SQL:

CREATE TABLE `litste_ip` (
`ID` MEDIUMINT( 9 ) NOT NULL AUTO_INCREMENT ,
`IP` CHAR( 8 ) NOT NULL
) TYPE = MYISAM

MySQL a répondu:Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
0