Forum: PC-Programmierung Php Post an Linux kernel


von Sven (Gast)


Lesenswert?

Hallo ich möchte auf einer webseite von einem Inernetradio einige 
Buttons zusätzlich einfügen um bestimmt befehle an das darunter liegende 
Linux zu senden...


In der index.php habe ich zum testen einen der Play Stop Buttons Kopiert
und den Php Post (Nennt man das so?) verändert

<img src="img/stop.png" alt="stop" onclick="player( 'stop' );" />
<img src="img/test.png" alt="test" onclick="player( 'test' );" />
<img src="img/next.png" alt="n&auml;chster" onclick="player( 'next' );"
/>

Zeile Eins und Drei sind original und machen was sie sollten Zeile zwei
sollte "test" posten. Das "bildchen" ist auch da.

In der player.js habe ich die case "test" eingefügt weil ich vermute das
nur dann der Post an die player.php rausgeht ?

function player( action ) {
  switch( action ) {
    case "prev":
    case "stop":
    case "play":
    case "next":
    case "test":
      $.ajax({
        type: "POST",
        url: "phprcv/player.php",
        data: "action=" + action,
        success: function() {


zuguterletzt habe ich die Player.php um ein test erweitert ...

  switch( $_POST['action'] ) {
    case "prev":
      exec( "/usr/bin/playscript prvstream" );
      break;
    case "test":
      exec( "/usr/bin/playscript play" );
      break;
    case "play":
      exec( "/usr/bin/playscript play" );
      break;

Doch leider musste ich feststelen das es nicht klappt. Im zweiten
Versuch habe ich einfach nur die Play in Plax umbennant in allen drei
Dateien und musste feststellen das auch das nicht klappt...

Muss man diese "Variablen" irgendwo deklarieren? oder gibt es irgendwo
versteckt wo ich es nicht gefunden habe weitere Dateien die damit
zusammenhängen?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Dir wird nichts anderes übrigbleiben als das mal zu debuggen, im 
einfachstem Fall durch ein paar echos

Sven schrieb:
> Doch leider musste ich feststelen das es nicht klappt.
Was "klappt" den nicht? Gibt es einen Fehler?

Sven schrieb:
> oder gibt es irgendwo versteckt wo ich es nicht gefunden
> habe weitere Dateien die damit zusammenhängen?
Möglich, hast du den das Skript auch angepasst?

BTW: Mit dem Kernel hat das nix zu tun es wird ein User-Skript 
aufgerufen als Reaktion auf einen POST-Request mit Hilfe der 
Skriptsparache PHP.

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Sven schrieb:
> switch( $_POST['action'] ) {
>     case "prev":
>       exec( "/usr/bin/playscript prvstream" );
>       break;
>     case "test":
>       exec( "/usr/bin/playscript play" );
>       break;
>     case "play":
>       exec( "/usr/bin/playscript play" );
>       break;


So ein ähnliches Switch-Case-Konstrukt hatte ich auch mal. Es 
funktionierte nicht, weil Switch-Case nicht mit Strings sondern nur mit 
Zahlen klar kommt.
Wurde das geändert, kann man das aktivieren?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Silvan König schrieb:
> Es  funktionierte nicht, weil Switch-Case nicht mit
> Strings sondern nur mit Zahlen klar kommt.
JS und PHP können dass, wie soll das auch sonst funktioniert haben bevor 
er eine Zeile eingefügt hat?

von Roland P. (pram)


Lesenswert?

Browsercache geleert? JS-Libraries werden stark gecached und evtl ist im 
Cache noch die alte Version.

Als hilfreiches Werkzeug für sowas hat sich Firebug bewährt, da sieht 
man was tatsächlich zum Server geschickt wird.

Gruß
Roland

von Sven (Gast)


Lesenswert?

Danke Roland.

Seit Tagen bastel ich daran rum und nix wollt klappen dabei hätt ich nur 
mal mein cache lehren sollen :)

Danke

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

STRG+F5 tut es übrigens auch...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.