begin process at 2012 05 27 22:25:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > COMPTEURS DE CLICS

COMPTEURS DE CLICS


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :11/05/2002 Date de mise à jour :06/12/2003 12:01:29 Vu :10 798

Auteur : OriOn

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Via ce cours vous allez apprendre a réaliser votre propre compteur de clic.
Suivez bien les instructions du cours et NE COPIEZ SURTOUT PAS LE CODE ! Écrivez-le !
Nous allons ici prendre l'exemple d'un script gérant des partenaires.

Source

  • Fichier de création de table:
  • CREATE TABLE partenaires (
  • id int(20) DEFAULT '0' NOT NULL auto_increment,
  • nom char(250) NOT NULL,
  • url char(250) NOT NULL,
  • clic char(50) NOT NULL,
  • PRIMARY KEY (id)
  • );
  • Fichier de configuration:
  • <?
  • $host="localhost"; // Votre hote ( ex chez free : sql.free.fr )
  • $login="root"; // Votre login
  • $mdp=""; // Votre mot de passe
  • $base="dn"; // Le nom de votre base de donnée ( ex chez free : c'est votre login )
  • ?>
  • Fichier qui affichage les partenaires:
  • <?
  • require('cfg.inc.php'); // Ici cfg.inc.php est votre fichier de configuration
  • mysql_connect($host,$login,$mdp); // Connexion à la base
  • mysql_select_db($base); // Connexion à la base de donnée
  • $sql='select id,nom,url,clic from partenaires ORDER by nom'; // Requete sql qui affiche le nom du partanaire et son nombre de clics. Vous pouvez également jeter un coup d'oil sur clause "ORDER BY" qui va vous classer par ordre alphabétique les partenaires.
  • $req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // On active la requete sql
  • while ($data=mysql_fetch_object($req)) // On fait une boucle et on récupère les valeurs
  • {
  • echo'<a href="clic.php?id='.$data->id.'" target="_blank">'.$data->nom.'</a> ·</font><br>';
  • }
  • mysql_close(); // On ferme connexion à la base
  • ?>
  • Fichier qui met à jour la bdd et qui dirige le navigateur vers le site du partenaire:
  • <?
  • require("cfg.inc.php"); // Ici cfg.inc.php est votre fichier de configuration
  • mysql_connect($host,$login,$mdp); // Connexion à la base
  • mysql_select_db($base); // Connexion à la base de donnée
  • mysql_query("UPDATE partenaires SET clic=clic+1 where id='$id'"); // On met à jour notre table via la requête UPDATE ; SET permet de définir le champ et et la clause WHERE nous indique quel ligen ( id ) de la table nous allons incrémenter
  • $query=mysql_query("SELECT url FROM partenaires WHERE id='$id'"); // Ici on choisit l'url en fonction de l'id
  • $url=mysql_fetch_row($query); // On récupère les données
  • header("location:$url[0]"); // On affiche la page
  • mysql_close(); // On ferme connexion à la base
  • ?>
  • Voila :) c'est finit ! Comme vous le voyez, c'est tous simple.. Vous pouvez bien évidement adapter ce script à d'autres styles de compteur mais aussi le perfectionner en rajoutant les fonctions suivantes: details du partenaires, formulaire pour écrire à tous les partenaire sen même temps, gérer des statistiques...
Fichier de création de table:

CREATE TABLE partenaires (
id int(20) DEFAULT '0' NOT NULL auto_increment,
nom char(250) NOT NULL,
url char(250) NOT NULL,
clic char(50) NOT NULL,
PRIMARY KEY (id)
);

Fichier de configuration:

<?
$host="localhost"; // Votre hote ( ex chez free : sql.free.fr )
$login="root"; // Votre login
$mdp=""; // Votre mot de passe
$base="dn"; // Le nom de votre base de donnée ( ex chez free : c'est votre login )
?>

Fichier qui affichage les partenaires:

<?
require('cfg.inc.php'); // Ici cfg.inc.php est votre fichier de configuration
mysql_connect($host,$login,$mdp); // Connexion à la base
mysql_select_db($base); // Connexion à la base de donnée

$sql='select id,nom,url,clic from partenaires ORDER by nom'; // Requete sql qui affiche le nom du partanaire et son nombre de clics. Vous pouvez également jeter un coup d'oil sur clause "ORDER BY" qui va vous classer par ordre alphabétique les partenaires.

$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // On active la requete sql

while ($data=mysql_fetch_object($req)) // On fait une boucle et on récupère les valeurs
{
echo'<a href="clic.php?id='.$data->id.'" target="_blank">'.$data->nom.'</a> ·</font><br>';
}
mysql_close(); // On ferme connexion à la base
?>

Fichier qui met à jour la bdd et qui dirige le navigateur vers le site du partenaire:

<?
require("cfg.inc.php"); // Ici cfg.inc.php est votre fichier de configuration
mysql_connect($host,$login,$mdp); // Connexion à la base
mysql_select_db($base); // Connexion à la base de donnée

mysql_query("UPDATE partenaires SET clic=clic+1 where id='$id'"); // On met à jour notre table via la requête UPDATE ; SET permet de définir le champ et et la clause WHERE nous indique quel ligen ( id ) de la table nous allons incrémenter

$query=mysql_query("SELECT url FROM partenaires WHERE id='$id'"); // Ici on choisit l'url en fonction de l'id

$url=mysql_fetch_row($query); // On récupère les données

header("location:$url[0]"); // On affiche la page

mysql_close(); // On ferme connexion à la base

?>


Voila :) c'est finit ! Comme vous le voyez, c'est tous simple.. Vous pouvez bien évidement adapter ce script à d'autres styles de compteur mais aussi le perfectionner en rajoutant les fonctions suivantes: details du partenaires, formulaire pour écrire à tous les partenaire sen même temps, gérer des statistiques...

 Conclusion

Sur ce,
Bonne ProG !  


 Sources du même auteur

PARSER UN RSS AVEC SIMPLEXML
EXPORTER UNE TABLE MYSQL VERS UN FICHIER XML AVEC DOMXML
EXPORTER UNE TABLE MYSQL VERS UN FICHIER XML AVEC PHP
PARSER UN FICHIER XML AVEC DOMXML ET LE METTRE EN FORME AVEC...
CRÉER ET UTILISER LES FONCTIONS PHP

 Sources de la même categorie

Source avec une capture INTÉGRER À UNE BASE DE DONNÉES DES COORDONNÉES GÉOGRAPHIQUES... par slhuilli
Source avec Zip DÉCOMPOSER UN CODE PHP AVEC LA FONCTION INCLUDE par Julien39
CRÉATION D'UN SCRIPT D'AUTHENTIFICATION par phpAnonyme
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C par GillesWebmaster
PHP EXTRAIRE DES MAILS D'UN GROS FICHIER LOCAL OU DISTANT par cosmoswarezone1

Commentaires et avis

Commentaire de ledragon le 29/10/2003 20:05:16

c justement ce que je chercher merci à toi je v le decortiquer pour apprendre à le faire aussi merci

Commentaire de nico606 le 30/03/2004 20:35:10

Slt g essayé ton code et gi arrive pa ta mi l'expemple de free mais ca marche pa avec free voila ce que sa donne
Warning: mysql_connect(): Access denied for user: 'rallyactu.wrc@212.27.40.143' (Using password: NO) in /var/www/free.fr/7/4/rallyactu.wrc/essai/compteur.php on line 3

Warning: mysql_select_db(): Access denied for user: 'rallyactu.wrc@212.27.40.143' (Using password: NO) in /var/www/free.fr/7/4/rallyactu.wrc/essai/compteur.php on line 4

Warning: mysql_select_db(): A link to the server could not be established in /var/www/free.fr/7/4/rallyactu.wrc/essai/compteur.php on line 4

Warning: mysql_query(): Access denied for user: 'rallyactu.wrc@212.27.40.143' (Using password: NO) in /var/www/free.fr/7/4/rallyactu.wrc/essai/compteur.php on line 8

Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/7/4/rallyactu.wrc/essai/compteur.php on line 8
Erreur SQL !
select id,nom,url,clic from partenaires ORDER by nom
Access denied for user: 'rallyactu.wrc@212.27.40.143' (Using password: NO)

on voit qu'il peut pa ce connecter ?????????????????,,

Commentaire de OriOn le 30/03/2004 20:39:59 administrateur CS

tu as crée ta base de donnée sur free ?

Commentaire de nico606 le 31/03/2004 18:03:25

ouai ouai mais ca fait ca domage tu la tester sur free???

Commentaire de OriOn le 31/03/2004 20:28:41 administrateur CS

Il y a longtemps oui et ça marchait.

Mais vu les premieres erreurs, vérifie que tu as entrés les bonnes informations du côté du fichier de configuration.

Commentaire de xavierhaest le 13/11/2004 11:29:31

pour nico606:
-----------------

n'oublie pas que le fichier de configuration avec les donnees pour la bdd doit s'appeler 'cfg.inc.php'

pour moi maintenent:
---------------------------

quand il va sur la page clic.php?id=1 il va directement vers ma page d'erreur 404 alors que la page clic.php est bien presente tu serais m'aider stp???

Commentaire de Rimb0 le 25/10/2005 12:35:02

Il est pas tres clair ton script :/
Y'a déjà un bug pour installer la table (valeur Defaut 0) et puis on connait pas le nom des fichiers.

T'aurais pris deux minutes, j'aurais mis 10/10 !

Commentaire de DuClik le 29/03/2007 19:52:59

Moi je suis contre ce genre de script qui ne vérifie rien avant de passer à l'action.
Le $id il sort d'où ?

La plupart des hébergeurs désactivent register_globals.

Après il faut être partisant du mysql_fetch_row.
Perso je ne comprends pas pourquoi utiliser cette fonction, mysql_fetch_assoc est tellement plus compréhensible quand on relit le code.

Dernière remarque : il est normal que le code ci-dessus ne fonctionne pas, puisque la table proposée est vide.
Ce serait peut etre bien de vérifier si l'id existe avant de faire quoi que ce soit, sinon le header('location:...'); ne va pas renvoyer bien loin...

Je déconseille donc ce code, il n'a pas sa place ici.

Commentaire de jdalton42 le 29/03/2007 22:14:40

tu postes un commentaire pour dire de supprimer une source qui est ici depuis plusieurs années, si il aurait fallut la supprimer, sa aurait du se faire avant, le code a été testé et fonctionne, c'est pas parce que t'aime pas le mysql_fetch_row qu'il faut automatiquement proposer de supprimer la source...

c'est quoi sa...

Commentaire de DuClik le 29/03/2007 22:29:39

où est-ce que tu as vu que je proposais de supprimer cette source ?
j'ai simplement dit que je considerais qu'elle n'avait pas sa place ici.

Je suis tombé dessus en cherchant "compteur de clics" sur google ou une requete similaire.
Je trouve dommage qu'un débutant copie la premiere source qu'il trouve, puisque mal codée à mon gout.

Commentaire de jdalton42 le 30/03/2007 13:03:33

cette source fonctionnais tres bien au début quand je l'ai utilisée... maintenant j'ai vu avec ton message: il n'a pas sa place ici.

enfin voila @+

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales