php script funktioniert nicht

Php-Script via Button ausführen

Hi Leute habe grad mit meinem kleinen Wissen das hier zusammengebastelt:

[HTML][/HTML][PHP]

<?php $ip = '127.0.0.1'; $fp = fsockopen($ip, 51234); // zum Server verbinden if ($_POST['los']) { if(fgets($fp)=="[TS]\r\n") { fputs($fp,"slogin admin passwort\r\n"); $result=fread($fp,1024); fputs($fp,"serveradd 8744\r\n"); $result=fread($fp,1024); fputs($fp,"sel 8744\r\n"); $result=fread($fp,1024); fputs($fp,"serveredit server_name test\r\n"); $result=fread($fp,1024); fclose($fp); echo nl2br($result); } } ?>[/PHP]Leider passiert nichts und ich denke es liegt an den geschweiften klammern das da irgendwas nicht hinhaut denn mache ich das ganze ohne dem post los sprich ich entferne if ($_POST['los']) mit den dazugehörigen geschweiften klammern läuft das ganze wieder...

PS: Sry wenn das ganze kriminell aussieht habe es irgendwie aus meiner php ausgeschnitten und hier zusammengebastelt damit ihr nen überblick habt außerdem sind meine PHP kenntnisse zu diesem Teil hier nicht recht lobenswert.

Sollten noch mehr Fehler drin sein (was ich schwer vermute) so bitte korrigiert mich bin immer froh mein php Wissen erweitern zu können^^

Greetz
Aldimaster

[PHP]if(fgets($fp)==„[TS]\r\n“)[/PHP]
[TS]???
von wo kommt den das [TS] her?

Hallo.

Wo kommt denn das her:
[PHP]if ($_POST[‚los‘])[/PHP]

Es wäre wiklich besser wenn du uns den gesamten Code zeigst und nicht nur einen Ausschnitt.

Gruss
Elroy

Ich habe mich dieses beleheren lassen denn sobald man sich anmeldet in Teltnet bekomme ich diese Ausgabe und die muss ich abfragen sonst funktioniert das ganze nicht.

Hallo.

Wo kommt denn das her:
PHP-Code:
[LEFT] if ($_POST[‚los‘])
[/LEFT]

Es wäre wiklich besser wenn du uns den gesamten Code zeigst und nicht nur einen Ausschnitt.
Das habe ich mal selber zusammengeschmiedet eig. sollte der Button in meinem Thread den ich den name los gegeben habe das ganze Script erst auslösen. Um ehrlich zu sein ist das eig. schon das ganze Script der rest ist nur noch Layout und co. ich habe es erstmal so abgespeckt gemacht da ich erstmal ein bisschen experimentieren will um zu verstehen wie das ganze eig. funktioniert so ist meine eig. Lernmethode^^

So funktioniert das Script ja:
[PHP]

<?php $ip = '127.0.0.1'; $fp = fsockopen($ip, 51234); // zum Server verbinden if(fgets($fp)=="[TS]\r\n") { fputs($fp,"slogin admin passwort\r\n"); $result=fread($fp,1024); fputs($fp,"serveradd 8744\r\n"); $result=fread($fp,1024); fputs($fp,"sel 8744\r\n"); $result=fread($fp,1024); fputs($fp,"serveredit server_name test\r\n"); $result=fread($fp,1024); fclose($fp); echo nl2br($result); } ?> [/PHP]Doch dann wird das Script sofort nach dem Aufruf der Seite ausgeführt ich will es aber erst ausführen wenn man de Button gedrückt hat und wenn ich den [PHP]if ($_POST['los']) [/PHP] einsetze geht garnix mehr =(

Greetz
Aldimaster

Sofern er den richtigen Port erwischt hat, ist das ein TELNET Befehl für TeamSpeak Server, bzw die Antwort wenn man zugreifft.
„[TS]\r\n“ - Abfrage ist schon richtig.
Nach dem „slogin $user $pass\n“ senden, abfragen, ob „OK\r\n“ zurück kommt. Wenn ja, kannste weiter machen.
Wobei ich nicht glaube, das serveradd in dem Falle geht. ein „sel $port\r\n“ zum auswählen (auch hier ambesten eine Abfrage, ob „OK\r\n“ zurück kommt), dann sollte dein „serveredit …\r\n“ auch gehen.

Mfg

Edit: Und am Ende nicht vergessen „quit\n“ zu senden :wink:

Hi,
also nochmal im Überblick das serveradd und der rest des gesamten scriptes funktioniert, habe ich alles getestet…

NUR möchte ich das dieses Script erst ausgelöst wird wenn ich den Button drücke der den Post „los“ sendet.

Wie ihr sehen könnt habe ich das ganze mit folgenden versehen:

[PHP]if ($_POST[‚los‘]) [/PHP]Leider funktioniert es aber nicht wenn ich den Button drücke passiert nichts =( gibt es eine andere Lösung wie ich das script mit Button auslöse denn meine Methode funktioniert ja theoretisch nur leider will mir hier keine sagen wo da der Fehler liegt:

[PHP] <?php
$ip = ‚127.0.0.1‘;
$fp = fsockopen($ip, 51234); // zum Server verbinden

if ($_POST[‚los‘])
{

 if(fgets($fp)=="[TS]\r\n")

{
fputs($fp,„slogin admin passwort\r\n“);
$result=fread($fp,1024);

  fputs($fp,"serveradd 8744\r\n");
  $result=fread($fp,1024);

  fputs($fp,"sel 8744\r\n"); 
  $result=fread($fp,1024);

  fputs($fp,"serveredit server_name test\r\n");
  $result=fread($fp,1024);
  
  fclose($fp);
  echo nl2br($result);

}
}
?> [/PHP]

Greetz
Aldimaster

Leider funktioniert es aber nicht wenn ich den Button drücke passiert nichts =( gibt es eine andere Lösung wie ich das script mit Button auslöse denn meine Methode funktioniert ja theoretisch nur leider will mir hier keine sagen wo da der Fehler liegt:
Benutzt du den Input alleinstehend?:

[HTML] [/HTML]
Wenn ja, dann ist es klar, warum es nicht geht. Du musst im <form noch definieren, was passieren soll.

Wenn nein, zeig mal die komplette HTML Auszeichnung in Verbindung mit dem Script.

Mfg

Ich persönllich würde nächstes mal einen noch aussageschwächeren Titel verwenden.
Würde wohl zu: „Ahhhhh, es geht nicht“ oder „Hab Problem“ tendieren

Problem gelöst. Für alle die auch Teamspeak mit Telnet vie PHP ansprechen wollen:

test.php
[PHP]

Unbenanntes Dokument [/PHP]Script.php [PHP] Unbenanntes Dokument <?php $ip = '127.0.0.1'; $fp = fsockopen($ip, 51234); // zum Server verbinden if(fgets($fp)=="[TS]\r\n") // Antwort des Servers lesen { fputs($fp,"slogin superadmin password\r\n"); // Befehl senden $result=fread($fp,1024); // Antwort lesen fputs($fp,"serveradd 8744\r\n"); // Befehl senden $result=fread($fp,1024); // Antwort lesen fputs($fp,"sel 8744\r\n"); // Befehl senden $result=fread($fp,1024); // Antwort lesen fputs($fp,"serverset server_name test\r\n"); // Befehl senden $result=fread($fp,1024); // Antwort lesen fclose($fp); echo nl2br($result); } ?> [/PHP]Selbstverständlich ist das ganze eine Katastrophe aber es soll ja schließlich nur den Grundstein setzen und den leuten die meinen Copy&Paste zu machen eine Arbeit geben ;D

Greetz
Aldimaster