test connection petite aide svp

Eléphanteau du PHP | 14 Messages

16 févr. 2011, 19:00

bonjour je cherche à faire une fonction qui permet de detecter si l'on a acces au reseau ou non si oui alors redirection vers une page sinon on fait une alert.
voici ma fonction

Code : Tout sélectionner

<script type="text/javascript"> alert(navigator.onLine ? "Vous êtes en ligne" : "Vous êtes hors ligne"); </script>
à la place de vous etes en ligne je voudrais par exemple ouvrir mon navigateur sur google.fr sinon l'ouvrir juste avec une alert Vous êtes hors ligne.

merci de votre aide ;)

ViPHP
xTG
ViPHP | 7331 Messages

16 févr. 2011, 19:48

Pour une redirection cela se fait via :

Code : Tout sélectionner

document.location.href = "url";

Eléphanteau du PHP | 14 Messages

17 févr. 2011, 10:48

en faite ce que j'ai besoin de faire est :
variable url="www.google.fr"
si url = accessible alors
afficher url
sinon
alert("pas internet");
fsi

ViPHP
xTG
ViPHP | 7331 Messages

17 févr. 2011, 10:54

A priori donc, en répondant avec mes connaissances sur le sujet :
- avec du PHP : cUrl ou bien file_get_content().

- avec de l'ajax : chargement de la page et test du code de retour.
Pour ma part je ne suis pas maitre dans l'utilisation de l'ajax, donc la seule façon que je connaisse c'est en passant par le framework jQuery (mais qui utilise des propriétés natives, donc c'est faisable sans) : .load()

Eléphanteau du PHP | 14 Messages

17 févr. 2011, 17:32

la solution
<html><head>
<script type="text/javascript">


function isThere(url) {
	o = new ActiveXObject("Microsoft.XMLHTTP"); 
	try {
		o.open("HEAD", url, false); 
		o.send(null); 
		return o.status == 200 ? true : false;
	}
	catch(er){
		return false;
	}
}

if (isThere("http://192.168.70.6/intranet/index.php")) {
	alert("ok");
}
else {
	alert("pas ok");
}
</script> 
</head>
<body>
</body>
</html>

ViPHP
xTG
ViPHP | 7331 Messages

17 févr. 2011, 20:41

Du microsoft ? Et pour ceux qui auraient un Unix ? ^^