S'inscrire |

 
Avatar de Redd
Redd est déconnecté Sexe Non renseigné 01/06
XP de Redd 5 Nombre total de messages de Redd
Nouveau iker
  #1 (permalink)  
Vieux 14/01/2006, 12h46
Honte [PHP] Vos statistiques

Bonjour,

donc voila mon premier post concernant le PHP, c'est un petit script PHP/MySQL pour faire les statistiques de votre site web. Je n'ai personnellement pas eu le temps de le tester donc si il y à un problème, n'hésitez pas à PM et/ou faire un reply pour dire que ça va pas.

Donc commençons par les 2 fichiers PHP :

Code PHP:
$HOSTNAME "";  //Mettez ici l'adresse de votre serveur SQL
$USERNAME "";  //Mettez ici le nom d'accès pour se connecter au serveur
$PASSWORD ""//Le password de connexion
$BASENAME "";  //Le nom de votre base

$ip $_SERVER['REMOTE_ADDR'];
$timestamp time();
$expiration time() - (60*5);

$connection mysql_connect($HOSTNAME,$USERNAME,$PASSWORD);

$sql "DELETE FROM connectes WHERE timestamp<$expiration";
mysql_db_query($BASENAME,$sql);

$sql "INSERT INTO connectes values ('$ip','$timestamp') if not exists (SELECT * FROM connectes WHERE ip=$ip)";
mysql_db_query($BASENAME,$sql);

$sql "UPDATE connectes SET timestamp=$timestamp WHERE ip=$ip if exists (SELECT * FROM connectes WHERE ip=$ip)";
mysql_db_query($BASENAME,$sql);

$sql "UPDATE records SET pagesVues=pagesVues+1";
mysql_db_query($BASENAME,$sql);

if(!isset(
$_COOKIE['DejaVisite']))
{
    
$sql "UPDATE records SET nbrVisites=nbrVisites+1";
    
mysql_db_query($BASENAME,$sql);
    
setcookie("DejaVisite",1);
}

mysql_close($connection); 
Le deuxième fichier :
Code PHP:
function statistiques()
{
    
$HOSTNAME "";
    
$USERNAME "";
    
$PASSWORD "";
    
$BASENAME "";
    
    
$connection mysql_connect($HOSTNAME,$USERNAME,$PASSWORD);
    
$sql "SELECT count(*) 'nbrVisites' from connectes";
    
$exec mysql_db_query($BASENAME,$sql);
    
$sort mysql_fetch_array($exec);
    
$resultat["nbrOnline"] = $sort['nbrVisites'];
    
$sql "SELECT * FROM records";
    
$exec mysql_db_query($BASENAME,$sql);
    
$sort mysql_fetch_array($exec);
    
$resultat["visites"] = $sort['nbrVisites'];
    
$resultat["pagesVues"] = $sort['pagesVues'];
    
    
mysql_close($connection);
    
    return 
$resultat;

Et le code SQL à faire executer par votre serveur avant la mise en route du script :
Code:
CREATE TABLE `records` (
`nbrVisites` INT NOT NULL ,
`pagesVues` INT NOT NULL
);

CREATE TABLE `connectes` (
`ip` VARCHAR( 15 ) NOT NULL ,
`timestamp` INT NOT NULL ,
PRIMARY KEY ( `ip` )
);

INSERT INTO `records` ( `nbrVisites` , `pagesVues` )
VALUES (
'0', '0'
);
Et voila qui fini notre script :waw:

Donc pour l'utilisation c'est très simple, mettez au début de vos pages le code suivant :
Code PHP:
<?php
include("path+nom_du_fichier_1.php");
include(
"path+nom_du_fichier_2.php");
?>
et pour afficher les resultats :
Code PHP:
<?php
$stats 
statistiques();
echo 
$stats['nbrOnline']; //Nombre de visiteurs en ligne
echo $stats['visites']; //Nombre de visiteurs uniques
echo $stats['pagesVues']; //Nombre total de pages vues
?>
Bien entendu n'oubliez pas de faire des sauts de ligne entre les affichages des résultats car avec la séquence de code donné vous obtiendrez un affichage du type 511000, donc pour un affichage correct vous pouvez mettre :
Code PHP:
echo "Le texte que vous voulez".$la_variable_qui_vous_interesse."la suite du texte que vous voulez"
Ayé, j'ai fini mon premier script pour ce forum, je retourne dans ma grotte maintenant

Dernière modification par Redd ; 14/01/2006 à 14h49.
Réponse avec citation
Avatar de Soul90
Soul90 est déconnecté Sexe Non renseigné 03/05
XP de Soul90 908 Nombre total de messages de Soul90
O.Alexandre
  #2 (permalink)  
Vieux 14/01/2006, 13h14
Merci sa peut servire
Réponse avec citation
Avatar de k4dw4
k4dw4 est déconnecté Sexe Non renseigné 08/05
XP de k4dw4 171 Nombre total de messages de k4dw4
Master
  #3 (permalink)  
Vieux 14/01/2006, 13h20
C'est pas mal mais c'est pas dutout dutout compressé :x
Enfin ca dépend des personnes, pour certainnes d'entre elle ca changera rien, pour d'autre, elle ne sauront même pas qu'il n'est pas compressé lol
Réponse avec citation
Avatar de AnteChrist
AnteChrist est déconnecté Sexe Non renseigné 06/05
XP de AnteChrist 106 Nombre total de messages de AnteChrist
Bassiste junior
  #4 (permalink)  
Vieux 14/01/2006, 14h21
J'comprend ce que tu veux dire par compressé.
Comment on compresse du php x_x?

Ptit oubli du "e" sur cette ligne :
Code:
$sql = "UPDATE connectes SET timestamp=$timestamp WHERE ip=$ip if exists (SELECT * FROM connectes WHERE ip=$ip)";
et ca c'est in dispensable?
Code:
 if(!isset($_COOKIE['DejaVisite']))
{
    $sql = "UPDATE records SET nbrVisites=nbrVisites+1";
    mysql_db_query($BASENAME,$sql);
    setcookie("DejaVisite",1);
}
puisque tu test a chaque fois si l'ip existe, pour soit l'inserer, soit l'update.
j'sais pas y'a ptetre un autre moyen de gêrer le record et les connectés d'une autre manière

Sinon c'est sympa
On peut aussi faire des stats qui affichent le nombre de visiteurs en cours, au mois, le systeme d'exploitation utilisé, la page d'ou on vient (c'est pratique pour savoir si l'on est recensé, bien linké..) des trucs comme ca quoi !
Par contre, si ya pas de base sql dispo, me semble que c'ets pas trop compliqué a faire dans un fichier texte.

Dernière modification par AnteChrist ; 14/01/2006 à 14h26.
Réponse avec citation
oxa
Avatar de oxa
oxa est déconnecté Sexe Non renseigné 03/05
XP de oxa 967 Nombre total de messages de oxa
Castor King
  #5 (permalink)  
Vieux 14/01/2006, 14h40
Moi je connais phpmyvisites et ca donne tout ça sans sourciller
Réponse avec citation
Avatar de Redd
Redd est déconnecté Sexe Non renseigné 01/06
XP de Redd 5 Nombre total de messages de Redd
Nouveau iker
  #6 (permalink)  
Vieux 14/01/2006, 14h41
Citation:
Moi je connais phpmyvisites et ca donne tout ça sans sourciller
Ouais mais c'est toujours plus fun de faire ses scripts soi-même...

pour le cookie ce n'est pas un record de connectés mais pour le nombre de visiteurs total

J'avais un système de stats plus complet pour un de mes sites, faut juste que je retrouve le script que j'avais fait

Et pour la compression, je pourrais plus le compresser mais si apres des gens qui commencent ce langage souhaitent le modifier ils vont en baver...
Réponse avec citation
Avatar de AnteChrist
AnteChrist est déconnecté Sexe Non renseigné 06/05
XP de AnteChrist 106 Nombre total de messages de AnteChrist
Bassiste junior
  #7 (permalink)  
Vieux 14/01/2006, 16h14
Oki :]
Mais c'est quoi la compression oO ?
Réponse avec citation
Avatar de Méthylbro
Méthylbro est déconnecté Sexe Non renseigné 05/08
XP de Méthylbro 13 Nombre total de messages de Méthylbro
Voir le compte DeviantART  de Méthylbro
Petit-posteur
  #8 (permalink)  
Vieux 18/05/2008, 15h31
mouais,

un peu de session_set_save_handler() aurait été plus jolie et plus efficace.
Réponse avec citation
Réponse

Outils de la discussion

Config des règles de ce forum
Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


A propos d'IK

Infographik alias IK est un forum d'entre-aide dans le domaine de l'infographie numerique
Depuis plus de 10 ans ce forum propose des tutoriaux un espace communautaire francophone.

We need You !

Faire un don permet de régler les frais de fonctionnement du site tel que l'hebergement, le ndd etc...
Faire un don

Fuseau horaire GMT +2. Il est actuellement 22h40.