Compteur par origine de l'internaute avec mysql

Résolu
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005 - 24 oct. 2005 à 21:18
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005 - 24 oct. 2005 à 23:36
Quelqu'un peut-il me dire ce qui ne va pas dans ma page suivante ? J'aimerai qu'elle m'affiche le pays d'où vient mon internaute! Ma base de donnée Sql est correctement remplie, mais cette fichue page bug! PS: je débute en php alors il se peut que se soit une faute très bete :(

Voici le code de la page:


<?php
/* Date de création: 24/10/2005 */
?>

<html>

<?php

//***************************************************
// Lecture et insertion du fichier ipcountry
//**********************************************

function
LireFichier()
{
$sqllink= mysql_connect ( "http://www.monicq.com:le_port" ,"le_user","le_mot_de_passe");
mysql_select_db($sqlDB,$sqllink);

$filename ="ipcountry.txt";
// mettez le nom de votre fichier
// ouverture du fichier

$fd = fopen ( $filename, "r" );

// Tant qu'on est pas à la fin

while
(!feof($fd))
{

// on lit le fichier

$buffer = fgets($fd,1000);

// on découpe la chaine lue dans un tableau

$name= explode ( "," ,$buffer);

// on enlève les " (on peut faire un boucle for pour éviter les 5lignes)

$name[0] =str_replace(""","",$name[0]);
$name[1]= str_replace ( """ ,"",$name[1]);
$name[2] =str_replace(""","",$name[2]);
$name[3]= str_replace ( """ ,"",$name[3]);
$name[4] =str_replace(""","",$name[4]);

// on insère les valeurs dans la base

mysql_query ("INSERT INTO pays (IP_FROM,IP_TO,CODE,CODE2,PAYS) values ('".$name[0]."','".$name[1]."','".$name[2]."','".$name[3]."','".$name[4]."')",$sqllink) ;
}
fclose ($fd);

mysql_close($sqllink);

}

//*********************************************************
// Retourne l'adresse IP du visiteur
//*********************************************************

function
get_IP() {

// Gestion des proxys

if
(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$IP = $_SERVER [ 'HTTP_X_FORWARDED_FOR' ];
elseif(
isset($_SERVER['HTTP_CLIENT_IP']))
$IP = $_SERVER['HTTP_CLIENT_IP'];
else

$IP = $_SERVER [ 'REMOTE_ADDR' ];

return
$IP;
}

//*********************************************************
// fonction qui ransforme l'IP en nombre
//*********************************************************

function
IPAddress2IPNumber($dotted) {
$dotted = preg_split( "/[.]+/", $dotted);
$ip = ( double ) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+($dotted[3]);
return
$ip;
}

//*********************************************************

// Fonction qui retourne le pays, en paramètre l'adresse IP
//*********************************************************

function
IpEnPays($uneIp)
{
$sqllink =mysql_connect ( "http://www.monicq.com:le_port" ,"le_user","le_mot_de_passe");
mysql_select_db($sqlDB,$sqllink);

// transforme l'ip en nombre

$uneIp = IPAddress2IPNumber ($uneIp);
$select = "SELECT PAYS FROM pays WHERE " .$uneIp." BETWEEN IP_FROM AND IP_TO ";
$resPays = mysql_query ($select,$sqllink);
if
($rowPays =mysql_fetch_row($resPays))
$retour= $rowPays [0];
else

$retour ="Indeterminé";

mysql_free_result($resPays);
return
$retour;
}
?>


</html>

11 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 oct. 2005 à 21:45
je ne vois aucun echo, c'est peut-être pour ça :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 oct. 2005 à 22:00
bah echo 'texte à afficher';



(c'est pas dûr de chercher un minimum quand même lol)



Apprendre le PHP

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 oct. 2005 à 23:11
Tu peux cliquer sur "réponse acceptée" stp ? merci

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 oct. 2005 à 21:28
Salut,



quelle est l'erreur que tu rencontres ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0

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

Posez votre question
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 21:37
L'erreur c'est qu'il ne se passe rien ! :( page blanche
0
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 21:54
effectivement... lol je suis débutant depuis hier en php, je ne maitrise absolument rien pour le moment :s !
Hum pourrais tu m'expliquer comment utiliser un echo?
0
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 22:12
Bah j'ai cherché j'ai trouvé le script ci-dessus ! Mais le hic c'est que j'ai du mal à m'y retrouver dedans! je comprend le fonctionnement de chaque bloc mais j'ai du mal à m'y retrouver dans les variables
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 oct. 2005 à 22:54
C'est joli de faire des fonctions (ou de les copier), mais il faut savoir les utiliser !



Pour appeler une fonction, il suffit de taper son nom :

<?php

tafonction();

?>

Ce qui aura pour effet d'appeler ta fonction.

Lorsqu'il y a un return sur une fonction, on peut également récupérer sa valeur !

<?php

function say_x() {

return 'x';

}

$var = say_x();

echo $var;

?>

Test à faire toi même ! Tu comprendras dès lors comment marche une fonction et que son inclusion seul ne suffit pas =)
0
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 23:06
oulé calmos patatos, j'ai dis que je commençais le php pas que j'étais entièrement débile! j'ai fais un copier coller mais ça ce n'est qu'un bloc de fonction du programme finale!

En tout cas, merci anthomicro pour ton aide! J'avais effectivement zapper le "echo" !
Now tout est ok et j'ai mon compteur de visiteur en fonction de leur origine le résultat est exploité par une animation flash pour faire une jolie ptite anim sur une map-monde! c'est trop cool!!
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 oct. 2005 à 23:26
"oulé calmos patatos, j'ai dis que je commençais le php" Je sais bien,
tu l'as déja dis plus haut. J'ai rien dit de méchant pourtant,
seulement un petit cours sur les fonctions (très petit d'ailleurs, je
ferais un bien mauvais prof =) )



"j'ai fais un copier coller mais ça ce n'est qu'un bloc de fonction du
programme finale!" Justement, ce que je te reproche, c'est de faire un
copier/coller sans savoir comment ca fonctionne au préalable :)
0
cold92 Messages postés 8 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 24 octobre 2005
24 oct. 2005 à 23:36
Ne t'inquiète pas, je sais bien que ce n'était pas méchant! Comme on dit, la fin justifie les moyens c'est pour celà que j'ai fais du copier coller, c'est un travail disons urgent.
0
Rejoignez-nous