Suche Hilfe bei EInbindung der SampQueryApi.php

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • Hallo
    Ich komme nicht weiter, ich wil mal eine kleine Seite machen, wo man etwas mit seinen Server'n machen kann ;)


    So sieht mein Code (PHP) bisher aus


    Aber wenn ich nun auf localhost/sa-mp-s/index.php gehe,
    Spuckt er mir nen Fehler aus,
    DIesen :


    PHP
    Warning: fsockopen() expects parameter 2 to be long, string given in H:\XAMPP\htdocs\Sa-Mp-S\query\SampQueryAPI.php on line 42


    Was bedeutet das ?
    Weis nicht was mit fsopckopen gemaint ist ;)


    PS: Das hier ist die Zeile aus der "SampQueryApi.php

    PHP
    $this->rSocket = fsockopen('udp://'.$this->aServer[0], $this->aServer[1], $iError, $sError, 2);



    MFG
    Ololberto

    Stahlbau Azubi deswegen kaum Aktiv

  • mit fsockopen wird ein socket geöffnet, in diesem fall zur verbindung mit dem server
    allerdings ist parameter 2, also der port fehlerhaft. Was gibst du den als port an?
    //edit: das hier ist dein fehler:

    PHP
    $port = $_POST['port'];
            $port = htmlspecialchars(addslashes($port));


    htmlspecialcharsund addslashes gibt strings zurück, aber fsockopen will bei dem port einen int haben
    besser wäre es so:

    PHP
    if(is_numeric($_POST['port'])){
    $port = $_POST['port'];
    }
  • Als Port wird bei der Form angegeben, einmal die IP und dann der PORT
    Und dann sollen da einige Infos zum Server kommen, die ich mit der API ausgeben will


    //E
    Immernoch der Gleiche fehler,
    Trotz

    PHP
    if(is_numeric($_POST['port'])){
    $port = $_POST['port'];
    }



    //EDIT
    Kann mir denn niemand Helfen ?

    Stahlbau Azubi deswegen kaum Aktiv

    Einmal editiert, zuletzt von Raphael.K ()

  • PHP
    $port = $_POST['port'];
    $port = intval(htmlspecialchars(addslashes($port)));


    intval macht aus dem string ein int, probier das mal aus. (nicht ausprobiert)

  • Das hat nichts mit dem Problem zu tun..
    Die Lösung ist einfach die:

    PHP
    $server = new SampQueryAPI($ip, $port);


    Variablen entweder garnicht oder in doppelte Quotes schreiben.

    Joa, aber das wäre zu einfach :D

  • Also zwei Lösungsvorschläge haste jetzt schon bekommen :)