Online/Offline Anzeige

sub7even

Mitglied
Also,
ich habe eine anzeige mit php geschrieben...
Leider Funktioniert das nicht so wie ich das wollte^^

Man sollte TCP & UDP Ports prüfen können....

Hier is die Source... hoffe mir kann jemand halfen :s
PHP:
	 $ip = $_GET['ip'];
	 $port = $_GET['port'];
	 $type = $_GET['typ'];
	 
	 switch ($type)
	 {
		case "udp":
			if(!$fp = @fsockopen("udp://".ip, $port, $errno, $errstr, 10))
			{
				$img=LoadPNG('status_off.png');
			} else {
				$img=LoadPNG('status_on.png');
			}
		break;
		case "tcp":
			if(!$fp = @fsockopen(ip, $port, $errno, $errstr, 10))
			{
				$img=LoadPNG('status_off.png');
			} else {
				$img=LoadPNG('status_on.png');
			}
		break;
	 }
 
Leider Funktioniert das nicht so wie ich das wollte^^
Sehr präzise, diese Aussage. Könntest du uns eventuell genauer sagen, was nicht funktioniert?

Bis auf ein fehlendes Dollarzeichen vor "ip" im fsockopen() bei TCP kann ich nicht finden. Solche Fehler findest du ganz leicht, indem du mit
PHP:
error_reporting(E_ALL);
deine Scripte entwickelst. Du solltest während der Entwicklung auch auf die @-Zeichen verzichten.
 
Sehr präzise, diese Aussage. Könntest du uns eventuell genauer sagen, was nicht funktioniert?

Bis auf ein fehlendes Dollarzeichen vor "ip" im fsockopen() bei TCP kann ich nicht finden. Solche Fehler findest du ganz leicht, indem du mit
PHP:
error_reporting(E_ALL);
deine Scripte entwickelst. Du solltest während der Entwicklung auch auf die @-Zeichen verzichten.

AMEN Bruder !
:D
 
Hi,
So in der art sollte das en.
PHP:
     $ip = $_GET['ip'];
     $port = $_GET['port'];
     $type = $_GET['typ'];
     $imgOff = 'status_off.png';
     $imgOn = 'status_on.png';
     
      header('Content-Type: image/png');

     if($type == 'udp')
         (@fsockopen("udp://".ip, $port, $errno, $errstr, 10))? readFile($imgOn) : readFile($imgOff);
     else
         (@fsockopen(ip, $port, $errno, $errstr, 10))?: readFile($imgOn) : readFile($imgOff);
     exit;

Grüße,
MArc
 
MArc schön das du helfen willst und dabei den Code noch vereinfachst durch terniäre Operatoren aber dann bitte nicht mit den bereits hingewiesenen Fehlern! ! !
Ich würde bei derartigen Fragen auch noch nicht Erweiterte Syntax beibringen das verwirrt den User nur!

@sub7even versuch es mal so:
PHP:
error_reporting(E_ALL);

     $ip = $_GET['ip'];
     $port = $_GET['port'];
     $type = $_GET['typ'];
     
     switch ($type)
     {
        case "udp":
            if(!$fp = fsockopen("udp://".$ip, $port, $errno, $errstr, 10))
            {
                $img=LoadPNG('status_off.png');
            } else {
                $img=LoadPNG('status_on.png');
            }
        break;
        case "tcp":
            if(!$fp = fsockopen($ip, $port, $errno, $errstr, 10))
            {
                $img=LoadPNG('status_off.png');
            } else {
                $img=LoadPNG('status_on.png');
            }
        break;
     }
 
Außerdem ist in dem Beispiel von MArc auch noch ein weiterer Fehler, denn die Syntax den Trinitätsfaktors ist folgende:
Code:
(Bedingung) ? (Wenn wahr) : (Wenn falsch)
Aber bei dir steht beim Zweiten folgendes:
Code:
(Bedingung) ?: (Wenn wahr) : (Wenn falsch)
 
Ahoi,

ah, die Runde wird größer :)
Mir gings nicht darum, ihm ein Code zu liefern, den er einfach
copy&pasten kann, sondern viel mehr, um die Tatasache,
dass er eventuelle rauslesen kann, dass er es mit readFile
anstatt mit der nicht existenten Funktion LoadPNG() machen
soll.

Syntaxfehler/Tippfehler: Shame on me :-(

Grüße,
MArc
 
Zurück