Compteurs de clics

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 528 fois - Téléchargée 31 fois

Contenu du snippet

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 / Exemple :


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 !

A voir également

Ajouter un commentaire Commentaires
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
30 mars 2007 à 13:03
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 @+
DuClik Messages postés 10 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 23 juin 2010
29 mars 2007 à 22:29
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.
jdalton42 Messages postés 200 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 19 août 2009
29 mars 2007 à 22:14
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...
DuClik Messages postés 10 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 23 juin 2010
29 mars 2007 à 19:52
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.
xavierhaest Messages postés 13 Date d'inscription mardi 17 août 2004 Statut Membre Dernière intervention 17 octobre 2004
13 nov. 2004 à 11:29
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???
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.