Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP Mysql] Pb affichage unique frame par ip

Grumos, le dimanche 10 décembre 2006 à 04:09:51
Bonjour,
J'ai fait un script pour afficher une frame une fois par ip et par jours mais il ne fonctionne pas vraiments. Le script que j'ai fait vide donc la table dès que quelqu'un ouvre la page si la date n'est pas trouvée dans la table pour ensuite afficher la frame et inscrire sont ip dans la base pour normalement ne plus afficher la frame à sa prochaine visite le même jours. Mais je ni arrive pas après plusieurs essaie j'ai arrété sur se script et là il ne veut plus afficher la frame pouriez vous m'aider svp. Voici le script :

<?php 
$Ip = $_SERVER['REMOTE_ADDR'];
$Date = date("d/m/Y");

$db = mysql_connect('localhost', 'login', 'mdp')  or die('Erreur de connexion '.mysql_error());
			 
mysql_select_db('base',$db)  or die('Erreur de selection '.mysql_error());
		
define( _TABLE , 'Ip_Unique' );
		
$sql = "SELECT Ip,Date FROM " . _TABLE . " ORDER BY DATE DESC ";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$data = mysql_fetch_assoc($req);

if($data['Date'] != $Date)
	{	
mysql_query("TRUNCATE TABLE " . _TABLE . "");
	}  
	 
if($data['Ip'] != $Ip)
	{	
	mysql_query("INSERT INTO " . _TABLE . " (Ip,Date) VALUES ('$Ip','$Date') WHERE Ip!='".$Ip."'");
	}	
	
if($Ip != $data['Ip'])
	{
	if($Date != $data['Date'])
		{
	echo ("<iframe src='http://www.bonus.grumosweb.fr/PTP2.php' width=0 height=0 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no></iframe>");
		}
	}
		
mysql_close(); 
 
?>


Me suis-je bien fait comprendre ?
Répondre à Grumos  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Reivax962, le lundi 11 décembre 2006 à 12:32:13
Bonjour,

Je pense que ton problème vient du fait que tu ne vérifies que l'IP corresponde à une entrée de ta table que sur un seul enregistrement, le premier renvoyé par mysq_fetch_assoc.
Il faudrait parcourir tout le tableau pour vérifier que l'IP n'y est pas, où, mieux (à mon avis), faire une requête avec l'IP.

Aussi, un WHERE dans une clause INSERT n'est, comment dire... pas franchement habituel...

Voilà ce que je te propose :
<?php 
$Ip = $_SERVER['REMOTE_ADDR'];
$Date = date("d/m/Y");

$db = mysql_connect('localhost', 'login', 'mdp')  or die('Erreur de connexion '.mysql_error());
			 
mysql_select_db('base',$db)  or die('Erreur de selection '.mysql_error());
		
define( _TABLE , 'Ip_Unique' );

// Recherche du nombre d'entrées aujourd'hui (toute IP confondue)
$sql = "SELECT count(*) as entrees_auj FROM " . _TABLE . " WHERE `Date` = '".$Date."'";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$data = mysql_fetch_assoc($req);

// Si aucune entrée aujourd'hui, on vide la table
if($data['entrees_auj'] == 0)
{	
	mysql_query("TRUNCATE TABLE " . _TABLE . "");
}  

// Recherche des entrées sur l'IP concernée
$sql = "SELECT count(*) as entrees_ip FROM " . _TABLE . " WHERE `Ip` = '".$Ip."'";

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$data = mysql_fetch_assoc($req);

// S'il n'y a eu aucune entrée sur cette IP
if($data['entrees_ip'] == 0)
{	
	mysql_query("INSERT INTO " . _TABLE . " (Ip,Date) VALUES ('$Ip','$Date'));

	echo ("<iframe src='http://www.bonus.grumosweb.fr/PTP2.php' width=0 height=0 MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=0 SCROLLING=no></iframe>");
}
		
mysql_close(); 
 
?>
Qu'en penses-tu ?

Xavier
Répondre à Reivax962

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Grumos, le jeudi 11 octobre 2007 à 12:15:04
olalalala, désolé j'avais completement oublier ce post.
Merci à toi Xavier mais j'ai opté pour les cookies enfaite, c'est plus simple.

P.s.: Si un modérateur ou amdin passe par ici, il peut mettre en résolu car je ne peut pas je n'arrive pas à me connecter j'ai surment été supprimé.

Merci encore.

Grumos
Répondre à Grumos

Résultats pour [PHP Mysql] Pb affichage unique frame par ip

Php + mysql. Besoin d'une aide (Résolu) Bonjour, Voila je crée un script php / mysql por bannir des ip. bon tous marche cependant. mysql autorise le ban que de la première IP. et pas les autres. Pouvez vous regarder mes codes et me dire se que je dois changer ? merci www.commentcamarche.net/forum/affich-8994550-php-mysql-besoin-d-une-aide
Phpbb problème (Résolu) bonjour 10.251.149.114 c'est étonnant phpbb m'affiche toujours cette ip quand je me connect sur mon forum mais c'est pas mon ip ! Alors ça vien d'où c'est phpbb qui bug ? où alors cela vien de mon hébèrgeur ? Merci pour vos... www.commentcamarche.net/forum/affich-3621991-phpbb-probleme
PHP/MySQL:script pour site d'annonces,.... (Résolu) salut, j'ai des connaissances de base en PHP/MYsql. Pour les besoins d'un site d'annonces, je cherche un script qui permet de rentrer une annonce dans une catégorie, de l'afficher, de la confirmer et ensuite de la publier dans la... www.commentcamarche.net/forum/affich-2679335-php-mysql-script-pour-site-d-annonces

Résultats pour [PHP Mysql] Pb affichage unique frame par ip

Installation rapide de LAMP (Apache+MySql+php) sous LinuxLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL... www.commentcamarche.net/faq/sujet-7971-installation-rapide-de-lamp-apache-mysql-php-sous-linux

Résultats pour [PHP Mysql] Pb affichage unique frame par ip

Apache php mysql help help help (Résolu)bonjour j essaie d installer apache php mysql tout va bien juske la en tar gz tout roule je teste mon serveur apache , la page d accueil s affiche ok c en html . Donc mon serveur c lire le html , g installé php mysql avec apache pour que tout... www.commentcamarche.net/forum/affich-1296475-apache-php-mysql-help-help-help
Création site web en php/mysql (Résolu)Bonjour, je suis nouveau avec php, et je dois faire un site php/mysql j'ai réussi à se connecter à la base, afficher + modifier et ajouter des informations Mes questions: Q1 Comment fonctionne t -il la validation de votre inscription lors de... www.commentcamarche.net/forum/affich-4448319-creation-site-web-en-php-mysql
[PHP/MYSQL]recupération de données... (Résolu)bonjour, je fais un site en php/mysql j'ai créé un formulaire où j'ai une liste déroulante comportant mes utilisateurs et une zone texte correspondant au service auquel appartient c utilisateurs. lorsque je choisis un utilisateur,... www.commentcamarche.net/forum/affich-1294314-php-mysql-recuperation-de-donnees