Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 562 fois - Téléchargée 26 fois
Première étape Dans le source de la page à afficher il faut : - définir les 3 variables - exécuter le PHP (un autre source) qui enregistre les trois informations dans une table "la datetime, le nom de la page et un chrono visiteur". Jusque là rien de compliqué ! Il faut ajouter le script Javascript dans ce source et mettre en parametre "la datetime, le nom de la page". ---------------------------------------------------------------------- dans le HEAD <script language=""> function qwin(){ winenrg=window.open("enrg.php?npage=<?print $REQUEST_URI;?>&dtim=<?print $dateenr;?>","nomfen","top=5000"); return true;} </script> ---------------------------------------------------------------------- dans le BODY <body onunload="qwin();"> ---------------------------------------------------------------------- Explication Pourquoi les variables PHP sont stockées dans le script du javascript ? Car si elles ont utilisée en variables globales, lors du chargement de la page suivante, le source d'enregistrement récupèrera les nouvelles valeurs et non les valeurs de la page d'origine. En faisant ainsi, le script javacript est écrit avec le contenu de variable qui seront passées en paramètre lors de la sortie de la page. (Ok c'est compliqué mais sinon çà marche pas !) Voyez le "top=5000"; il permet de ne pas voir la fenêtre popup. Seconde étape Le programme "enrg.php" d'enregistrement doit écrire dans la table mais également se refermer. ---------------------------------------------------------------------- <script language=""> setTimeout("winenrg.close()",200); </script> <? $sr_host="";$sr_acces="root";$sr_pw=""; $db = "base"; $sql=mysql_connect($sr_host,$sr_acces,$sr_pw); $reqsql = "update visite set dtsortie = ".date('Y-m-d H-i-s'); $reqsql .= " where dtentree='".$dtim."' and nompage='".$npage."')"; $sqlr=mysql_db_query($db,$reqsql) ; $sql=mysql_close($sql); ?> ---------------------------------------------------------------------- Explication Pourquoi le TimeOut ? Pour fermer la page on peut ne pas l'utiliser mais alors l'enregistrement n'a pas lieu ! Pour info la mise à jour de l'enregistrement se fait d'après les 2 paramètres passés à enrg.php.
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.