Question sur le Script du TOP 10 de MyPHPannuaire.
12 messages
• Page 1 sur 1
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Question sur le Script du TOP 10 de MyPHPannuaire.
Bonjour
J'essaye d'intégrer le code du top 10 de MyPHPannuaire ( http://www.webrankinfo.com/forums/viewtopic_38662.htm ) directement dans le code de l'annuaire (sans passer par le fichier partenaire.php) de façon à proposer un lien comptabilisant les meilleurs référents.
L'url de départ est celle ci : -http://mon-site.com/partenaires.php?url=http://le-site.fr
L'url modifié est celle la:-http://mon-site.com/categorie-du-site.html?url=http://le-site.fr
Je ne parviens pas à intégrer le code du fichier partenaires.php directement dans mon fichier index.php ou autre sans provoquer d'erreurs ...(en gros je ne sais pas comment modifier ce code ni ou l'intégrer)!
Le code du fichier:
Un gros coup de main serait le bienvenue.
Merci
J'essaye d'intégrer le code du top 10 de MyPHPannuaire ( http://www.webrankinfo.com/forums/viewtopic_38662.htm ) directement dans le code de l'annuaire (sans passer par le fichier partenaire.php) de façon à proposer un lien comptabilisant les meilleurs référents.
L'url de départ est celle ci : -http://mon-site.com/partenaires.php?url=http://le-site.fr
L'url modifié est celle la:-http://mon-site.com/categorie-du-site.html?url=http://le-site.fr
Je ne parviens pas à intégrer le code du fichier partenaires.php directement dans mon fichier index.php ou autre sans provoquer d'erreurs ...(en gros je ne sais pas comment modifier ce code ni ou l'intégrer)!
Le code du fichier:
- Code: Tout sélectionner
<?php
include("data_bd_annuaire.php"); //variables de l'annuaire
include("functions.php"); //fonctions de l'annuaire
$lk = connection_BD();
function gpc_secure($chaine, $is_int = false)
{
$chaine = ( is_int($chaine) || $is_int ) ? intval($chaine) : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) );
return $chaine;
}
$url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : '';
if($url == '')
exit;
$delai_clic = 24*3600; //delai avant qu'un nouveau clic ne soit recomptabiliser (24*3600 = 24h)
$tab_id = array();
if (isset($_COOKIE["goto_myphpannuaire"]))
$tab_id = explode("#",$_COOKIE["goto_myphpannuaire"]);
//creation des requetes pour l'annuaire
$sql_upd = "UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url' ";
//si on a pas encore visiter le site
if (!isset($_COOKIE["goto_myphpannuaire"]) || !is_in_array($id,$tab_id))
{
//envoi de la requete pour comptabiliser le clic
$upd = send_sql($sql_upd,"utiliser le compteur de clics (annuaire)");
//creation (ou modifications) du cookie
$cookie = isset($_COOKIE["goto_myphpannuaire"]) ? $_COOKIE["goto_myphpannuaire"] : '';
setcookie("goto_myphpannuaire",$cookie."#".$id,time()+$delai_clic,"/");
}
//fermeture de la connexion
mysql_close($lk);
header("Location: http://www.votresite.com");
exit;
?>
Un gros coup de main serait le bienvenue.
Merci
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Salut zeb
Je n'ai pas noté les messages d'erreur ... en gros, soit mon site ne s'affiche plus soit le compteur n'ai pas incrémenté. Le dernier teste en date sur mon fichier index est celui ci :
La, aucune erreur à signaler sauf que la comptabilisation ne se fait pas non plus.
J'ai déplacé une partie du code ci dessous au dessus de l'include fonction.php comme conseillé mais sans résultat:
J'ai testé avec et sans rewrite mais sans succès.
D'autre part, on me dit que les url du style -http://mon-site.com/categorie-du-site.html?url=http://le-site.fr sont pourrit d'un point de vue referencement ... alors je prefere laché l'affaire avant d'avoir du n'importe quoi sur mon -www.
Je ne sais pas comment faire pour afficher mes X référent uniquement inscrit sur mon annuaire...
Merci
Je n'ai pas noté les messages d'erreur ... en gros, soit mon site ne s'affiche plus soit le compteur n'ai pas incrémenté. Le dernier teste en date sur mon fichier index est celui ci :
- Code: Tout sélectionner
<?php
include("data_bd_annuaire.php"); //variables de l'annuaire
include("functions.php"); //fonctions de l'annuaire
//////////////////////////////////////////////////////////////////
$url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : '';
if($url != ''){
$lk = connection_BD();
function gpc_secure($chaine, $is_int = false)
{
$chaine = ( is_int($chaine) || $is_int ) ? intval($chaine) : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) );
return $chaine;
}
$delai_clic = 1*30; //delai avant qu'un nouveau clic ne soit recomptabiliser (1*30= 30 secondes)
$tab_id = array();
if (isset($_COOKIE["goto_myphpannuaire"]))
$tab_id = explode("#",$_COOKIE["goto_myphpannuaire"]);
//creation des requetes pour l'annuaire
$sql_upd = "UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url' ";
//si on a pas encore visiter le site
if (!isset($_COOKIE["goto_myphpannuaire"]) || !is_in_array($id,$tab_id))
{
//envoi de la requete pour comptabiliser le clic
$upd = send_sql($sql_upd,"utiliser le compteur de clics (annuaire)");
//creation (ou modifications) du cookie
$cookie = isset($_COOKIE["goto_myphpannuaire"]) ? $_COOKIE["goto_myphpannuaire"] : '';
setcookie("goto_myphpannuaire",$cookie."#".$id,time()+$delai_clic,"/");
}
//fermeture de la connexion
mysql_close($lk);
}
////////////////////////////////////////////////////////////////////////////////
//page principale de l'annuaire
.......
La, aucune erreur à signaler sauf que la comptabilisation ne se fait pas non plus.
J'ai déplacé une partie du code ci dessous au dessus de l'include fonction.php comme conseillé mais sans résultat:
- Code: Tout sélectionner
function gpc_secure($chaine, $is_int = false)
{
$chaine = ( is_int($chaine) || $is_int ) ? intval($chaine) : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) );
return $chaine;
}
J'ai testé avec et sans rewrite mais sans succès.
D'autre part, on me dit que les url du style -http://mon-site.com/categorie-du-site.html?url=http://le-site.fr sont pourrit d'un point de vue referencement ... alors je prefere laché l'affaire avant d'avoir du n'importe quoi sur mon -www.
Je ne sais pas comment faire pour afficher mes X référent uniquement inscrit sur mon annuaire...
Merci
-

zeb - WRInaute accro

- Messages: 4569
- Inscription: 5 Déc 2004
re salut,
ta fonction gpc_secure est incluse dans ta condition if($url != ''){...} donc du coup je suis pas certain que le code $url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : ''; soit réalise correctement.
de plus tu me dis que la comptabilisation ne se fait pas
si je comprend bien ton script, tu n'as plus d'incrémentation dans ta base, Incrémentation qui semble se faire grâce a la requête suivante :
UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url'
je mettrais presque ma main a couper que la requête en question ne passe pas pour la simple raison que ta variable $url contient une chaine différente que celle qui se trouve dans la base (c'est même quasi sur puisque tu la transforme via la fonction gpc_secure
avec ce cocktail de fonctions : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) )
moralité ton url n'est plus du tout comparable a ce que contient ta base. (d'ou la requête qui ne renvoie rien puisque la dite url est dans une clause WHERE)
mon truc :
place un echo derrière ta requete pour voir sa tronche en live et essaie (copier / coller) de l'envoyer en direct dans phpMyAdmin
a partir de la tu devrais y voir plus clair

ta fonction gpc_secure est incluse dans ta condition if($url != ''){...} donc du coup je suis pas certain que le code $url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : ''; soit réalise correctement.
de plus tu me dis que la comptabilisation ne se fait pas
si je comprend bien ton script, tu n'as plus d'incrémentation dans ta base, Incrémentation qui semble se faire grâce a la requête suivante :
UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url'
je mettrais presque ma main a couper que la requête en question ne passe pas pour la simple raison que ta variable $url contient une chaine différente que celle qui se trouve dans la base (c'est même quasi sur puisque tu la transforme via la fonction gpc_secure
avec ce cocktail de fonctions : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) )
moralité ton url n'est plus du tout comparable a ce que contient ta base. (d'ou la requête qui ne renvoie rien puisque la dite url est dans une clause WHERE)
mon truc :
place un echo derrière ta requete pour voir sa tronche en live et essaie (copier / coller) de l'envoyer en direct dans phpMyAdmin
- Code: Tout sélectionner
//creation des requetes pour l'annuaire
$sql_upd = "UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url' ";
echo $sql_upd."<br/>";
a partir de la tu devrais y voir plus clair
-

serval2a - WRInaute accro

- Messages: 3457
- Inscription: 21 Mar 2005
Bonjour,
Essaie cela :
Essaie cela :
- Code: Tout sélectionner
<?php
$lk = connection_BD();
function gpc_secure($chaine, $is_int = false)
{
$chaine = ( is_int($chaine) || $is_int ) ? intval($chaine) : mysql_real_escape_string( stripslashes( htmlspecialchars( trim($chaine) ) ) );
return $chaine;
}
$url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : '';
if($url == '')
exit;
$delai_clic = 24*3600; //delai avant qu'un nouveau clic ne soit recomptabiliser (24*3600 = 24h)
$tab_id = array();
if (isset($_COOKIE["goto_myphpannuaire"]))
$tab_id = explode("#",$_COOKIE["goto_myphpannuaire"]);
//creation des requetes pour l'annuaire
$sql_upd = "UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url' ";
//si on a pas encore visiter le site
if (!isset($_COOKIE["goto_myphpannuaire"]) || !is_in_array($id,$tab_id))
{
//envoi de la requete pour comptabiliser le clic
$upd = send_sql($sql_upd,"utiliser le compteur de clics (annuaire)");
//creation (ou modifications) du cookie
$cookie = isset($_COOKIE["goto_myphpannuaire"]) ? $_COOKIE["goto_myphpannuaire"] : '';
setcookie("goto_myphpannuaire",$cookie."#".$id,time()+$delai_clic,"/");
}
//fermeture de la connexion
mysql_close($lk);
?>
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Merci à vous
.
Je ne l'ai peut etre pas précisé mais je suis un poli en php... d'ou l'avatar très représentatif!
Zeb, j'ai ajouté le echo $sql_upd."<br/>"; mais je ne pige pas ce que celà est censé faire
en tout cas rien de visuel n'apparait!
serval2a, en faite c'est le code d'origine avec les includes et header("Location: -http://www.votresite.com");
exit; en moin, ce que j'ai déja tenté aussi mais sans succès aussi.
Dans le code, il y a bien une partie qui permet de comparer l'origine du click aux url présent dans l'annuaire .. non ?
Merci
Je ne l'ai peut etre pas précisé mais je suis un poli en php... d'ou l'avatar très représentatif!
Zeb, j'ai ajouté le echo $sql_upd."<br/>"; mais je ne pige pas ce que celà est censé faire
serval2a, en faite c'est le code d'origine avec les includes et header("Location: -http://www.votresite.com");
exit; en moin, ce que j'ai déja tenté aussi mais sans succès aussi.
Dans le code, il y a bien une partie qui permet de comparer l'origine du click aux url présent dans l'annuaire .. non ?
Merci
-

zeb - WRInaute accro

- Messages: 4569
- Inscription: 5 Déc 2004
echo $sql_upd."<br/>"; doit afficher la requête SQL dans ta page ce qui te permet de la copier / coller dans phpmyadmin pour voir si elle fonctionne (manuellement)
si elle n'est pas visible c'est peut être que la forme ou la couleur (CSS) empêche de bien la voir dans ta page.
dans ce cas regarde dans le code source (clic droit source) pour la voir.
si l'update ne fonctionne pas en manuel sur ta base c'est que la requête est pipée qquepart donc ça te donne une piste sur l'origine du 'non comptage' (voir forme de WHERE url = '??????' )
si elle n'est pas visible c'est peut être que la forme ou la couleur (CSS) empêche de bien la voir dans ta page.
dans ce cas regarde dans le code source (clic droit source) pour la voir.
si l'update ne fonctionne pas en manuel sur ta base c'est que la requête est pipée qquepart donc ça te donne une piste sur l'origine du 'non comptage' (voir forme de WHERE url = '??????' )
-

serval2a - WRInaute accro

- Messages: 3457
- Inscription: 21 Mar 2005
tryan a écrit:Dans le code, il y a bien une partie qui permet de comparer l'origine du click aux url présent dans l'annuaire .. non ?
Ben ton code semble récupérer la variable URL avec ça :
- Code: Tout sélectionner
$url = ( isset($_GET['url']) ) ? gpc_secure($_GET['url']) : '';
Et mettre à jour le compteur avec la fonction qui va bien ici.
- Code: Tout sélectionner
$sql_upd = "UPDATE $T_sites SET nb_clic_ext = nb_clic_ext+1 WHERE url = '$url' ";
et ici
- Code: Tout sélectionner
$upd = send_sql($sql_upd,"utiliser le compteur de clics (annuaire)");
Donc dès lors que tout est bien installé et qu'un type arrive par exemple jusqu'à la page
- Code: Tout sélectionner
tonsite.com?url=sonsite.com
Ca devrait marcher.
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
zeb, parès de multiple tentatvie d'intégration du code echo $sql_upd."<br/>"; aussi bien dans le fichier d'origine du script que dans mes bidouilles, il n'y a rien à faire... aucune requête SQL n'ai affiché.
serval2a, le code d'origine telle quelle fonctionne très bien mais il ne m'interresse pas trop car:
1- il pointe vers une page partenaire.php
2-il fait une redirection vers l'index
Vous avez une corde ?
serval2a, le code d'origine telle quelle fonctionne très bien mais il ne m'interresse pas trop car:
1- il pointe vers une page partenaire.php
2-il fait une redirection vers l'index
Vous avez une corde ?
-

serval2a - WRInaute accro

- Messages: 3457
- Inscription: 21 Mar 2005
Pas de panique, on va t'aider.
Marie va me chercher mon fusil.
Bon revenons à nos moutons, ton code semble effectivement très bien fonctionner, même si j'ai pas essayé hein
, donc pour que cela marche sur toutes les pages il faut que tu l'intègres dedans, à mon avis dans ton header (à ce stade là si tout ce passe bien et que tu as enlevé les fonctions déclarées en double tu ne devrais pas avoir d'erreur), ensuite il faut que tu vérifies bien que tu passes une url en GET comme je l'ai indiqué ci-dessus, en purgeant les cookies de ton navigateur à chaque fois voir tu supprimes pour tester les différentes lignes où il y a marqué cookie.
Autre possibilité, il y a un conflit avec la variable url, qui doit déjà exister par ailleurs, dans ce cas remplace dans chaque chaine url par un autre mot et teste.
@+
PS : t'inquiète j'ai mon fusil.
Marie va me chercher mon fusil.
Bon revenons à nos moutons, ton code semble effectivement très bien fonctionner, même si j'ai pas essayé hein
Autre possibilité, il y a un conflit avec la variable url, qui doit déjà exister par ailleurs, dans ce cas remplace dans chaque chaine url par un autre mot et teste.
@+
PS : t'inquiète j'ai mon fusil.
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Trouver script Top Referrer ou Top Site à mettre sur blog ?
- chtite question sur le categorisator - myphpannuaire
- Script 1two, rewrite myphpannuaire ou mydir ???
- [Script] modifié MyPHPAnnuaire + URL Rewriting + qq bonus
- Script Top sites
- script top list
- Meilleur Script Top Site et Upload
- Script top référents échanges de liens automatique
- Cherche un script php avec top 100
- Script top sites. 4 et 2 chiffres après le point
Consultez la description détaillée des produits ou services de Google suivants : Google Trends Recherche Personnalisée
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

