if ping = [PHP] - PHP - Programmation
Marsh Posté le 07-08-2007 à 18:58:44
A ma connaissance, tu ne peux pas vérifier que le client est connecté à internet. tu n'as pas ces informations depuis le serveur, et il est impossible (pour des questions de sécurité) de faire exécuter un ping par le client.
la seule chose que tu puisse savoir est si ton serveur PHP est relié à internet. dans ce cas là, tente d'ouvrir une page internet avec un fopen, (ou un truc dans le genre), ou encore en socket... goole est ton ami ;-)
Marsh Posté le 07-08-2007 à 19:24:53
arf ok donc c galére. et hum internet est fourni par un proxy est ce que je peux dire en php if proxy enable { include "google.php"
non ?
Marsh Posté le 07-08-2007 à 19:36:33
Ca doit pouvoir se faire avec du javascript.
Je peux pas t'aider là par contre
Marsh Posté le 07-08-2007 à 21:32:06
pourquoi ne pas faire un file_get_contents et de regarder le contenu recuperé ? mais ça risque de ramer.
Marsh Posté le 07-08-2007 à 21:39:19
file_get_contents()? Mais ça ne résoud pas le problème, on ne pourra savoir que si le serveur est connecté à internet de cette manière et non pas le client.
A mon avis ce n'est possible qu'en JS.
Il serait, par exemple, possible de tenter de charger une image sur la page, style logo google. Ensuite avec l'evénemment OnError() on peut déduire si l'utilisateur à un accès à internet ou pas et agir en conséquence.
Marsh Posté le 08-08-2007 à 15:20:36
le hic c'est que le javascript je connais pas trop, tu peux m'en dire plus stp ?
Marsh Posté le 08-08-2007 à 15:29:16
Il suffit de faire une requete ajax.
Si le contenu retourné n'est pas de taille > 0 ou autre erreur (voir la doc), ne pas afficher le champ.
Marsh Posté le 11-08-2007 à 12:20:24
Sauf qu'en ajax, tu ne peux pas faire de requete sur un autre domaine que le tien avec la configuration par defaut du navigateur (protection du navigateur, pour eviter le cross-site scripting).
Marsh Posté le 11-08-2007 à 14:49:19
Oui mais la on ne vérifie plus si l'ordinateur client peut accèder au net... On en revient donc au même problème. C'est pourquoi je proposait de faire le teste avec une image.
Quelque chose de ce genre :
Code :
|
avec un script js :
Code :
|
Marsh Posté le 11-08-2007 à 14:55:01
en gros,
étape 1 : le doc HTML charge une url externe, un script JS (pas forcément ajax) demande l'étape 2 au serveur interne avec le résultat de la demande d'url externe en param
étape 2 : ben tu sais si y'a accès au net ou pas ...
pour l'étape 1, l'url à charger sera un script JS qui contient une variable, on teste la valeur de la variable et roulez jeunesse ...
edit : l'idée de dwogsi est bonne aussi
Marsh Posté le 07-08-2007 à 18:53:07
Salit salut,
voila j'ai créé un intranet dans l'entreprise et tout le monde y a accés, mais dans l'entreprise tout le monde n'a pa internet.
Sur la page d'accueil j'ai inséré le champ de recherche google pour pas trop destabilisé ceux qui avait internet, le problème c'est que ceux qui n'ont jamais eu internet viennent me demander toute les 30s si ils ont internet...
est il possible de faire un :
juste histoire de dire que si le pc a internet on affiche le champ de recherche google sinon non.
Merci d'avance
SeB