[Cherche script]Ouverture popup 1 fois/jour/I

Fermé
Dragonitro Messages postés 263 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 15 juin 2010 - 3 mai 2010 à 19:24
Dragonitro Messages postés 263 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 15 juin 2010 - 10 mai 2010 à 18:31
Bonsoir,

Je suis à la recherche d'un script qui me permettrait d'ouvrir une popup 1 fois par jour et par IP.

Je n'ai pas le script pour ouvrir ma popup mais ça ne doit pas être trop compliqué. Le problème étant que je ne sais pas comment faire pour qu'elle s'affiche une fois par jour et par IP. N'étant pas fort en PHP/SQL, je viens vous solliciter. Ce script servirais à ouvrir la popup une fois par jour pour afficher la pub.

J'espère que vous pourrez m'aider le plus rapidement possible.

Amicalement, Drago
A voir également:

4 réponses

thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
4 mai 2010 à 03:25
salut
bon pour le script d'ouverture de popup il suffit d'un simple
<?php
<script type='language/javascript'>
open('url_popup');
</script>
?>
maintenant pour le un jour par ip
le principe est simple il suffit seulement de test est ce que aujourd'hui l'ip de l'internaute en cours son trouve dans ta bd si oui on doit vérifier que 24 heure se son passer depuis le moment qu'il a cliquer sur le lien popup et ce t'instant pour faire simple je vais écrire un semblant de code et m'expliquer en même temps
supposons ta table qui permet de sauvegarder l'instant et l'ip de l'utilisateur qui cliquer sur le lien qui ouvre le pop up
donc popuptable(id_inter,ip_enter,date_fin_blocage);
le plus important dans cette table c'est l'ip_inter qui correspond a l'ip de l'internaute et date_fin_blocage ce champs va contenir le timestamp au moment ou l'internaute a cliquer pour la premier fois sur le lien popup + 24 h;
pour le script je suppose 2 page index.html et popup.php
-index.html
ce fichier ne sert qu'a rediriger vers la page popup.php
<a href="popup.php">ouvrer Popup</a>
-popup.php
<?php
//premier chose a faire c'est de récupère l'ip de l'internaute
$ip =$_SERVER['REMOTE_ADDR'];
//ensuite on vérifie si cette ip ce trouve dans notre table
$query = mysql_query("select * from popuptable where ip_inter='$ip');

//si l'ip n'existe pas dans notre table on l'insert
if (mysql_num_rows($query)==0) {

//on construit date_fin_blocage
// comme on utilise le timestamp on doit mettre 24h en sec
// ce qui done 24h = 86400 sec
// pour avoir le nombre de seconde au moment ou 24 h aurons passer depuis la
// dernière ouverture de popup on fait
$date_fin_blocage = time()+86400;
//la fonction time() revoie le timestamp en sec au moment ou elle
//est appeler
//on convertie l'ip en type long
$ip = ip2long($ip);
//et on insere
mysql_query("insert into popuptable(ip_inter,date_fin_blocage)VALUES('$ip','$date_fin_blocage')");

//et on ouvre le popup
echo "<script type='laguage/javascript'>

open('url_popup');
</script>

} else {
//sinon l'ip existe déjà dans notre table donc on doit vérifier si 24h se sont écouler
//depuis la dernière fois ou cette ip a fait appel a notre popup
$row = mysql_fetch_assoc($query);
//si le timestamp de ce instant est superieur au timestamp qui se trouve
//dans la table donc on doit afficher le popup
if (time() > $row['date_fin']) {

echo "<script type='laguage/javascript'>

open('url_popup');
</script>
";
} else {

echo "il faut que 24h passe pour pouvoir réutiliser ce fonction";
}
}
?>
bon je sais que c'est un peut long mais ca devrait faire l'affaire le code est minimaliste voudra mieux le sécurisé si tu veut l'adapter une autre chose d'autre aurons du te proposer l'utilisation des cookies mais le problème avec cette méthode que ces fichier appeler cookies peut etre effacer par l'utilisateur
j'espère que ceci va t'aider si il y'a une partie qui t'échappe tu peut toujours reposter tes question
0
Dragonitro Messages postés 263 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 15 juin 2010 32
Modifié par Dragonitro le 4/05/2010 à 19:40
Merci d'avoir répondu si vite. J'ai encore deux questions.
Avec ton script, pour ouvrir la popup, tu dois obligatoirement cliquer sur le lien non ? Tu pourrais me faire le script plus clairement parce que j'ai pas exactement compris ce que je devais mettre où.
Si je veux intégrer ça sur un forum phpBB par exemple, je fais comment ?
0
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
6 mai 2010 à 02:24
pour que tu puisse tester le script tu doit ceer une table que tu va nomme "popuptable" qui aura 3 champs ip_inter=>de type long ,date_fin_blocage=>de type int et en fin un champs id=>int autoincremente
ensuite un tu creer un fichier .html ou.php tu peut lui donner le nom que tu veut l'essentiel d'y mettre le lien suivant
<a href='popup.php'>Ouvrir une popup</a>

et ensuite tu ceer un nouveau fichier que tu doit imperativement appeler "popup.php"
il contiendra le code suivant
<?php
//premier chose a faire c'est de récupère l'ip de l'internaute
$ip = $_SERVER['REMOTE_ADDR'];
//ensuite on vérifie si cette ip ce trouve dans notre table
$query = mysql_query("select * from popuptable where ip_inter='$ip'");

//si l'ip n'existe pas dans notre table on l'insert
if (mysql_num_rows($query)==0) {

	//on construit date_fin_blocage
	// comme on utilise le timestamp on doit mettre 24h en sec
	// ce qui done 24h = 86400 sec
	// pour avoir le nombre de seconde au moment ou 24 h aurons passer depuis la
	// dernière ouverture de popup on fait
	$date_fin_blocage = time()+86400;
	//la fonction time() revoie le timestamp en sec au moment ou elle
	//est appeler
	//on convertie l'ip en type long
	$ip = ip2long($ip);
	//et on insere
	$sql = "insert into popuptable(ip_inter,date_fin_blocage)VALUES('$ip','$date_fin_blocage')";
	mysql_query($sql);

	//et on ouvre le popup
	echo "<script type='laguage/javascript'>
        	open('url_popup');
       	  </script>";
} else {
	//sinon l'ip existe déjà dans notre table donc on doit vérifier si 24h se sont écouler
	//depuis la dernière fois ou cette ip a fait appel a notre popup
	$row = mysql_fetch_assoc($query);
	//si le timestamp de ce instant est superieur au timestamp qui se trouve
	//dans la table donc on doit afficher le popup
	if (time() > $row['date_fin']) {

		echo "<script type='laguage/javascript'>

				open('url_popup');
				</script>";
	} else {

		echo "il faut que 24h passe pour pouvoir réutiliser ce fonction";
	 }
}
?> 

Maintenant pour l'integrer dans phpbb c'est possible mais je doit savoir que doit ouvrir le popup
0
Dragonitro Messages postés 263 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 15 juin 2010 32
10 mai 2010 à 18:31
Le popup doit ouvrir un lien vers un autre site, c'est simple.
Donc, as-tu une solution ou pas ?

Drago
0