Recuperation variable PHP -> JAVASCRIPT

run974
Invité n'ayant pas de compte PHPfrance

02 avr. 2006, 02:30

Bonsoir a tous,

J'ai un script en PHP qui verifie si mon serveur shoutcast est toujours actif en ouvrant une socket sur le port de ce serveur.
Je voudrais ensuite recuper ce status dans un bout de programme javascript. J'ai beau remuer le pb dans tous les sens, je n'arrive pas a voir ou ca peche... :o(

Voici le script :
<html>
  <head>
    <title>PHP-JAVASCRIPT</title>
<body>
<?php
		$host = "127.0.0.1"; 
		$port = "6000";
		$fp=@fsockopen($host,$port,&$errno,&$errstr,10); 
		if (!$fp) { 
  			$status="0";
		} else { 
  			$status="1";
 		}
 		for($i=0; $i<1; $i++) { 
			if(feof($fp)) break; 
			$fp_data=fread($fp,31337); 
			usleep(500000); 
		};
?>



      <script language="JavaScript">  
<!--
				var texte="<?php echo $status;?>";
				document.write("Le status est : " + texte);
			</script>
</body>
</html>

Mammouth du PHP | 19672 Messages

02 avr. 2006, 09:05

première règle en développement : ne jamais masquer les erreurs. Il faut au contraire les voir s'il y en a et les corriger. Vire le "@" devant la fonction fsockopen() : Si une erreur est générée, exploite la au contraire.
Si l'appel échoue, fsockopen() retourne FALSE, etc...
Donc tu peux faire quelque chose du genre :
if(fsockopen($param1, param2, etc...))
{
    // instruction si ça répond
}
else
{
    // Autre instruction si ça échoue
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

02 avr. 2006, 10:50

C'est ce qu'il fait :
$fp = @fsockopen(...)
if (!$fp)
  $status = 0;
else
  $status = 1;
Pour ton problème je ne vois en effet pas du tout où ça pêche non plus, quel est l'affichage que tu obtiens pour dire que ça ne fonctionne pas ?

Run974
Invité n'ayant pas de compte PHPfrance

02 avr. 2006, 15:55

Merci pour vos commentaires ! Comme vous le faisiez remarque le script etait tout a fait correct mais je me suis fait avoir comme un vrai newbie :oops:
J'avais sauvegarde le fichier en xxx.html et des que je l'ai renommé en xxx.php ca allait tout de suite mieux ! :o
Merci encore !
A+