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^^
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 =(
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
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
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.
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