Page 1 sur 1

Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 02:49
par kingRamses
Bonjour à tous,

j'ai un petit problème avec un site que je dois modifier pour logger les accès.. En fait, j'ai déjà un script qui log les visiteurs (ip, date de visite etc).. mais le problème c'est que j'arrive pas à le faire fonctionner avec le site web actuel.. Voici le code PHP qui fait les logs:

Code : Tout sélectionner

$browser =$_SERVER['HTTP_USER_AGENT']; // get the browser name $curr_page=$_SERVER['PHP_SELF'];// get page name $ip = $_SERVER['REMOTE_ADDR']; // get the IP address $from_page = $_SERVER['HTTP_REFERER'];// page from which visitor came $page=$_SERVER['PHP_SELF'];//get current page $query_insert ="INSERT INTO statistiques (browser,ip,thedate_visited,page,from_page) VALUES ('$browser','$ip',now(),'$page','$from_page')" ; $result=mysql_query ( $query_insert); if(!$result){ die(mysql_error()); }
Habituellement je copie ce code dans les différentes pages du site et tout fonctionne bien, mais dans ce cas préci le problème c'est que le site sur lequel je veut faire fonctionner ce code affiche ses différentes pages dans des "<iframe>", et au chargement de la page principale "index.html", tout les liens vers les différentes sections sont chargé, donc mes statistiques de visites me donnent une visite sur chacune des pages de mon site! Mais en fait je n'ai fait que charger la page principale! En plus, quand l'utilisateur clique sur un des liens, la page n'est pas rechargé, donc les statistiques de cette pages ne sont pas mise à jours...

Voici une partie du code de ma page principale:

Code : Tout sélectionner

<a href="#!/pageEvenements"><h11>&Eacute;v&eacute;nement</h11></a> <a href="#!/pageAccueil"><h11>Accueil</h11></a> <li id="pageEvenements"> <h2>&Eacute;v&eacute;nements</h2> <iframe src="html/evenements.php" width="660" height="570" frameborder="0"></iframe> </li> <li id="pageAccueil"> <h2>Accueil</h2> <iframe src="documents/accueil/accueil.php" width="660" height="570" frameborder="0"></iframe> </li>
Comme je disait, si je met mon code PHP (écrit plus haut) dans mes pages "accueil.php" et "evenements.php" le code est exécuté des le chargement de ma page principale, yaurait-il un moyen de faire en sorte que les pages dans les "iframe" ne soient chargées seulement quand je clique sur les liens? ou sinon comment faire pour exécuter mon script seulement quand je clique sur chaque lien?

Merci de votre aide!

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 08:56
par Elie
Je ne sais pas ce que tu as le droit de faire ou pas mais tu sais que les iframes ont été remplacé en PHP par les include() ... Quel est l'interet de garder des iframes pour toi ?

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 11:20
par kingRamses
En fait, c'est pas moi qui a fait ce site à la base, je doit seulement ajouter "un log de visiteurs" sur ce site existant, donc pourquoi le concepteur a utilisé des iframes, je sais pas!

Mais il faut garder en mémoire que les sections ne doivent PAS être chargé en même temps que la page principale, donc si il y a une façon de remplacer les iframe par d'autre choses qui pourrais permettre de faire fonctionner mon script qui enregistre les visites, et bien je suis preneur.. Par contre je ne m'y connais pas trop, peut-tu me dire comment remplacer ceci? Par exemple tu peut me donner un exemple de mon code ou les iframe auraient été remplacé par autre chose?

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 12:14
par Elie
<a href="#!/pageEvenements"><h11>&Eacute;v&eacute;nement</h11></a>                       
<a href="#!/pageAccueil"><h11>Accueil</h11></a>
 

                   <li id="pageEvenements">
                         <h2>&Eacute;v&eacute;nements</h2>
                            <?php include('html/evenements.php'); ?>
                    </li>


                   <li id="pageAccueil">
                         <h2>Accueil</h2>
                            <?php include('documents/accueil/accueil.php'); ?>
                    </li>             
           
Ca donnerai ca ton truc ...

Après d'après ce que j'ai compris ta page d'acceuil n'est jamais rechargée donc seul solution mettre le code sur toute les pages existantes ...
Le plus simple étant de mettre ton truc de compteur dans un fichier à part en PHP et de mettre sur chaque page <?php include('la_page_compteur.php'); ?>
Mais bon ca va vite surchargée ta base de données de rentrée une ligne a chaque fois qu'un page est affichée..

Pour quoi ne pas passer par un service gratuit comme http://www.xiti.com ?

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 12:42
par kingRamses
Merci beaucoup pour ton code, je viens de l'essayer, par contre cela ne règle pas mon problème: les pages "evenements.php" et "accueil.php" sont chargé automatiquement à l'affichage de ma page principale "index.php" et non quand je clique sur le liens pour les ouvrir..

Donc mon code situé dans les pages "evenements.php" et "accueil.php" est exécuté lors du chargement de la page principale "index.php" et non lors du clique sur les liens, ce qui fausse les statistiques de visite sur chaque liens...

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 12 juil. 2014, 13:25
par Elie
Tu peux nous montrer ton site en ligne ...

Moi je fais un système dans mes pages pour savoir si je les appelle en include ou si je les appelle en AJAX.
Mais bon apres ca depend de ton codage quoi ...
	if(empty($db)) {
		
		session_start();
			
		include('../config.php');
		include('../fonctions.php');
		$path = '../../';
	
	}
En gros je regarde si $db existe, si c'est le cas c'est que c'est appelle en include si c'est pas le cas, c'est en AJAX donc je rappelle tous.
Biensur c'est relatif a mon site mais c'est possible quoi ...

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 13 juil. 2014, 03:30
par kingRamses
Tu voulais voire le site en ligne? Et bien tu peut aller sur Chalam.org ... Mais comme tu pourra le constater, il est en construction et beaucoup de sections ne fonctionnent pas.. c'est pas moi qui l'as fait, et ce n'est pas mon site! Moi je doit seulement ajouter une fonction qui enregistrer les visites sur chaque pages du site.

C'est un peu comme si je devais mettre un compteur sur chaque page.. mais le problème c'est que mon compteur de chaque page augmente de un quand je charge ma page principale même si je ne clique sur aucun lien car en chargeant la page principale toutes les pages des sections sont chargé automatiquement ce qui fait monter leur compteur.. Tk tu peut voire les source de chalam.org et tu va mieux comprendre..

Pour ce qui est de ton dernier post, je ne comprend pas du tout ce que tu explique, ni en quoi cela pourrais fonctionner sur le site sur lequel je travaille..(faut dire que je suis pas très doué en site web..)

Merci de ton aide

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 13 juil. 2014, 04:10
par kingRamses
Je sais que j'ai peut -être mal exprimé le problème que j'ai présentement, je vais donc ré-expliquer pour que ce soit plus clair..

1: J'ai un site web, qui as comme page principale "index.html"

2: Dans ma page principal "index.html" j'ai des liens qui ouvrent différentes pages:
-accueil.html
-legende.html
-evenements.html
-etc..

3: Admeton que je veut mettre un compteur dans chacune des pages du site pour savoir quel page est la plus visité, je met donc un compteur dans "accueil.html", dans "legende.html", ainsi que dans "evenements.html"...


4: LE PROBLÈME: Dans ce site particulié, toutes les pages "accueil.html", "legende.html","evenements.html", sont chargé l'ors du chargement de index.html (la page principale), donc si j'ouvre mon site web avec ma page principale index.html, tout les compteurs situé dans les différentes pages vont augmenter automatiquement de 1! Même si je ne clique pas sur les liens pour les différentes pages! Je veut donc savoir comment faire pour ne pas que mes pages "accueil.html", "legende.html","evenements.html" soient chargé automatiquement au démarrage du site, mais seulement quand l'utilisateur clique sur le bouton qui ouvre la section en question?... Ainsi je vais pouvoir faire fonctionner mes compteurs de façon normale!

Pour ceux qui veulent savoir, mon fichier index.html charge les différentes sections avec des iframe, comme ceci:

Code : Tout sélectionner

<iframe src="html/evenements.html" width="660" height="570" frameborder="0"></iframe>
Vous pouvez aller voire ce site à l'adresse CHALAM.ORG et regarder la source du fichier principal pour comprendre...

Donc: Je veut charger mes pages "accueil.html", "legende.html","evenements.html" seulement quand l'utilisateur clique sur les liens correspondant et non au chargement de index.html

Merci de votre aide

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 13 juil. 2014, 11:01
par Elie
Hello,

En voilà un site bien moche ...
Voilà ce que je te propose :)

Tu passes par le javascript qui gere le menu $('ul#menu').superfish({}): : http://users.tpg.com.au/j_birch/plugins ... h/options/
Tu te sers de la fonction
onShow: $.noop, // callback function fires once reveal animation completed – 'this' is the opened ul
Et a chaque fois que l'on clique sur un onglet, tu appelles en AJAX ton script PHP de visite et tu stockes la page et l'heure.
C'est complétement contre nature mais vu comme est fait ton site.

Voilà mon avis :) Dis moi si ca t'interesse comme principe.

Re: Arrêter chargement automatique des pages dans iframe?

Posté : 13 juil. 2014, 13:35
par kingRamses
Merci pour ton aide, pour te répondre, oui, si ça fonctionne, cela m'interesse. Par contre je ne comprend pas bien comment faire fonctionner ceci.. Peut-tu me donner un exemple de code qui s'applique à mon site pour que je puisse l'essayer?

Merci encore!