Problème de compatibilité

Résolu
papis301 Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   -  
papis301 Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
le code php ci-dessous apparait avec le navigateur internet explorer 7 mais n'apparait pas sous le navigateur google chrome. merci de bien vouloir m'aider.

<?php
include("connexionbd.php");
// -------
// ÉTAPE 1 : on vérifie si l'IP se trouve déjà dans la table.
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse IP du visiteur.
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_array($retour);

if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter.
{
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}
else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp.
{
mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}

// -------
// ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes.

// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);

// -------
// ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés.
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);



echo $donnees['nbre_entrees'] . ' connectés</p>';
?>



A voir également:

1 réponse

Utilisateur anonyme
 
Le code PHP ne s'exécute pas sur votre navigateur.
Donc si ça fonctionne sur un navigateur, ça doit fonctionner sur l'autre.
Sauf si votre code HTML généré est inexact, en l'occurence ici essayez ceci tout simplement :

echo '<p>'.$donnees['nbre_entrees'] . ' connectés</p>';

Sinon n'oubliez pas de vider votre cache sur vos navigateur avant de lancer la page, ça vous évitera peut-être des mauvaises surprises
Zébulon
0
papis301 Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   1
 
comment je dois faire pour vider les caches merci
0
Utilisateur anonyme
 
Dans une page PHP vous pouvez ajouter ça :

// supression du cache
header("cache-control:no-cache,no-store,must-revalidate");
header("pragma:no-cache");

Mais sinon ça se trouve dans les options de votre navigateur, tout dépend de la version et du type. Sous firefox c'est Outils-Supprimer l'historique récent
0
papis301 Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   1
 
merci pour les infos et les conseils mais on dirait aussi que google chrome à beaucoup de problème de compatibilité parce que avec internet explorer 7 tout ce que je code marche mais sous chrome on dirait qu'il n'acceptes pas les include aussi
0
Utilisateur anonyme
 
Non, vous confondez PHP et HTML.

Le PHP s'exécute sur le serveur, le HTML dans votre navigateur. Donc ne mettez pas en cause votre code PHP mais ce qu'il produit, tout ce qui se trouve dans les echo ""; car c'est ça le code HTML que vous produisez.

Votre code PHP fonctionne.
C'est le code HTML généré par votre code PHP qui doit comporter un problème.
Pouvez-vous me donner le code source de la page HTML ? Click droit sur la page sous IE, Afficher la Source.
Sous chrôme, peut-être est il nécessaire d'avoir les balises HTML, HEAD et BODY, pas certain, là je n'ai pas de chrôme sous la main pour vérifier.
0
papis301 Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   1
 
ok merci pour les conseils j'ai vérifié sa marche maintenant. Au fait j'avais pas ouvert l'index avec le serveur localhost c'était là l'erreur et merci mille fois pour les éclaicissements
0