Ergebnis 1 bis 8 von 8
  1. #1
    W32.FunLove Avatar von Daywa1k3r
    Registriert seit
    28.09.2008
    Beiträge
    150

    Standard Problem mit Header Funktion

    Hallo ạllerse̱i̱ts,

    ich habe auf meinem Raspberry (nicht Blackberry) eine Website mit zwei Bildern (on und off buttons) hinzugefügt, welche mit href auf jeweils auf ein PHP-Script referenzieren. Diese widerrum rufen jeweils ein Bash Script auf welches GPIOS steuert.

    Zusätzlich möchte ich den On Knopf aus Sicherheitsgründen verschwinden sobald dieser geklickt wurde.
    Die Funktion in jQuery habe ich bereits implementiert!

    Code:
        function hideOn () {
            if ($('#on').hasClass('col-sm-4'))  
                $("#on").fadeOut(700, function(){              
                });         
        }

    Mein PHP Script sieht so aus:

    PHP-Code:
     <?php 
    shell_exec 
    ('/var/www/html/an.sh'); 
    header("Location:index.html"); 
    ?>
    Ihr seht wahrscheinlich schon das Problem, unzwar wird erst die jQuery Funktion ausgeführt, das heisst das Bild verschwindet, dann das PHP Script welches mit der header Funktion wieder die index.html refresht und damit der On Button wieder auftaucht. Ich möchte allerdings, dass der Onknopf verschwindet nach onclick, das PHP script aufgerufen wird und der On Button immer noch verschwunden ist.
    Hoffentlich ist es verständlich angekommen.

    Merci für mögliche Unterstützung

  2. #2
    Fortgeschrittener
    Registriert seit
    08.04.2015
    Beiträge
    32

    Standard AW: Problem mit Header Funktion

    Hab nicht wirklich Ahnung wie man sowas gewöhnlich löst, aber meine erste Idee wäre eigentlich im onclick Handler der Bilder das fadeout & ein XMLHttpRequest zu machen.
    Damit sparst du dir den Header redirect.
    Gibt aber mit Sicherheit elegantere Lösungen

  3. #3
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard AW: Problem mit Header Funktion

    Mach dir doch noch ein Script welches den Status des GPIO abfragt, shell_exec sollte dir in PHP normalerweise den Exitcode deines Shellscripts zurückgeben. Dann kannst du mittels PHP unterschiedlichen HTML-Code ausgeben. Ist doch viel cooler wenn du im Browser auch den Status deines IO Pins siehst.

  4. #4
    Fortgeschrittener Avatar von Lindor
    Registriert seit
    04.11.2011
    Beiträge
    40

    Standard AW: Problem mit Header Funktion

    Ich würde in die Richtung von gORDon_vdLg gehen bzw. sogar weiter. Du schreibst der Button soll aus Sicherheitsgründen verschwinden, dann ist das verstecken eines Buttons ja irgendwie eine seltsame Idee. Ich würde vorschlagen, dass du den Status ausliest und jeweils die Option anbietest die Sinn macht. Aktuell an? Dann gibt es nur einen Button zum Ausschalten. Aktuell aus? Dann gibt es nur einen Button zum Einschalten

  5. #5
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard AW: Problem mit Header Funktion

    Meine ich ja^^

  6. #6
    W32.FunLove Avatar von Daywa1k3r
    Registriert seit
    28.09.2008
    Beiträge
    150

    Standard AW: Problem mit Header Funktion

    Die Ansätze klingen gut, jedoch habe ich in PHP kaum Erfahrung, aber das sollte kein Hindernis sein.
    Den Einwand von rax mit Hilfe von Ajax finde ich auch gar nich so schlecht, denn durch ajax sind solche Methoden ohne Seite-reload möglich.

    Werde mich jedoch auf die PHP Lösung stürzen.

    Besten Dank an das Trio

  7. #7
    Wiederbelebt Avatar von Cystasy
    Registriert seit
    08.05.2015
    Beiträge
    685

    Standard AW: Problem mit Header Funktion

    Vorschlag:

    Löse das ganze eventuell über ein externes Php Script, das du in nem unsichtbaren Iframe lädst beim Button klick.
    So hast du zwar kein Exit-Code deines Scripts zur verfügung, du kannst aber easy den Button verstecken & er bleibt auch versteckt.

    Beispiel:

    Code:
    <iframe id="myframe" src="#" width="0" height="0"></iframe>
    
    <input type="button" id="mybt" value="Anschalten" onClick="javascript:on();">
    
    <script>
    function on()
    {
     document.getElementById('myframe').src="SwitchItOn.php"; //Php Script in Iframe laden
     document.getElementById('mybt').style="display:none;"; //Button wegmachen
    }
    </script>
    Müsstest du aber testen ob das ganze so machbar wäre.. Habe bisher nicht mit dem Rapsberry gearbeitet und kann dir da leider nichts genaueres zu sagen deshalb.
    Mein Vorschlag ist nicht die schönste Methode, aber sollte theoretisch klappen

    Alternative Idee:

    Du könntest dein HTML Code & den Code zum aufruf des Shell scriptes alles in eine PHP Datei packen.
    Beim Button-Drücken rufste nun die gleiche PHP Datei auf, schickst aber nen POST oder GET Befehl mit.
    Wenn der POST / GET Befehl nun vom Script erkannt wird, weiß es "Da hat jemand den Anschalt Knopf gedrückt".. und du könntest dann den Button automatisch vom Script einfach ausblenden lassen (garnicht erst den HTML Code des Buttons an den Browser ausgeben).
    Und zusätzlich halt dann dein Shell Script Kram PHP basiert machen.

    Pseudocode:
    Code:
    <?
    $bt_pressed = $_GET['pressed'];
    
    echo "HTML CODE";
    echo "HTML CODE";
    echo "HTML CODE";
    
    if($bt_pressed != "true")
    {
     echo "HTML CODE FÜR BUTTON";
    }else
    {
     ShellScriptAufrufen();
    }
    
    echo "HTML CODE";
    echo "HTML CODE";
    echo "HTML CODE";
    ?>
    Beim Button OnClick einfach deine Php datei mit dem Parameter "?pressed=true" (In der Url) aufrufen, und voila.
    Der Button ist dann automatisch "ausgeblendet" wenn der Parameter erkannt wird.

    Schöner gelöst ises dann aber wie vorgeschlagen das ganze mit Exit Code zu checken.. so kannst Dynamisch den richtigen Button einblenden etc.
    Geändert von Cystasy (19.10.2015 um 22:19 Uhr)

  8. #8
    Tron Avatar von gORDon_vdLg
    Registriert seit
    23.07.2007
    Beiträge
    801

    Standard AW: Problem mit Header Funktion

    Ich glaube ich würde beides mischen, PHP-Script was live den Status abfragt. Das dann aber per Ajax aufrufen und das Toggeln auch, wie rax schon sagt. Ist funktional zwar Wumpe, ist aber furchtbar cool.

Ähnliche Themen

  1. Warning: Cannot modify header: header problem
    Von donkamilo56 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 19.11.2010, 21:29
  2. PHP: FTP-Funktion
    Von n00kie im Forum PHP
    Antworten: 9
    Letzter Beitrag: 15.06.2009, 15:16
  3. file-Funktion ?
    Von Gribbler im Forum PHP
    Antworten: 4
    Letzter Beitrag: 17.05.2009, 13:16
  4. vb6 Funktion ? kp
    Von Dayn im Forum VisualBasic
    Antworten: 6
    Letzter Beitrag: 27.12.2008, 21:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •