Mit php anzeigen, ob etwas aktiviert/deaktiviert ist

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Mit php anzeigen, ob etwas aktiviert/deaktiviert ist? Schau mal ob du hier fündig wirst!

  • Ihr seid zu schnell ;)

    Also, wenn ich die gerade eben geposteten einfachen codes als test.php statt test.html abspeichere, erhalte ich als Ausgabe im Webbrowser

    test

    Die Variable ist5test

    bei diesem Quellcode klappt es aber weder bei .html noch .php

    bei .php wird lediglich weißer Bildschirm ohne irgendetwas angezeigt.

    Bei .html wird Folgendes angezeigt.

  • Es klappt!

    Aber nur, wenn ich die Datei als .php benenne und nicht als .html!

    Vielen Dank! Danke!

    Ich mach mal weiter und habe sicher wieder Probleme und Fragen ... :daumendreh2:

    Kann mir jemand erklären, warum ich, wenn ich php in html einbinde, das dann unter .php benennen muss?

    • Offizieller Beitrag

    Aber nur, wenn ich die Datei als .php benenne und nicht als .html!

    Naja klar! ;)

    Kann mir jemand erklären, warum ich, wenn ich php in html einbinde, das dann unter .php benennen muss?

    Steht das nicht in Deinem Buch? :-/ Dann kannste das wegwerfen! :lol:

  • So, jetzt hat es wieder ne ganze Weile gut geklappt... ich konnte auf meiner Weboberfläche mit php ein Formularfeld machen (<form...>) und dann die Variable mit post an die pir-zeit.php senden. Die Variable soll die Zeit bestimmen, wie lange mein Nachtlicht/pir laufen soll, bevor es sich dann abschaltet.

    In der pir-zeit.php wird also einiges gemacht:

    - pir-zeit.py wird beschrieben. Da wird auch die Variable eingefügt in sleep($zeit) und nach Ablauf der Zeit wird pir.txt gelöscht.

    - pir.txt wird erstellt. Diese Datei sagt der eigentlichen pir.py (die das Nachtlicht ist), dass sie laufen soll.

    - pir.py wird gestartet.

    - led-aus.py und unlink bl.txt spielen für mein Problem keine Rolle.

    Problem:

    Je nachdem wo ich die shell-exec-Befehle bei der pir-zeit.php hinpacke wird eines von beidem pir.py und pir-zeit.py nicht ausgeführt. Alle anderen Befehle werden egal wo sie stehen durchgeführt (also z.B. shell-exec led-aus.py) Immer das untere wird nicht ausgeführt:

    - Steht pir.py unter pir-zeit.py, dann erhält pir-zeit.py seine passende variable und löscht nach dieser Zeit pir.txt - pir.py wird jedoch niemals ausgeführt.

    - Steht pir-zeit.py unter pir.py dann erhält pir-zeit.py seine variable, wird aber scheinbar nie ausgeführt und löscht auch nicht pir.txt - pir.py wird jedoch ausgeführt.

    Führe ich beide Programme per ssh gleichzeitig aus, funktioniert es: pir.py läuft, pir-zeit.py löscht pir.txt (manuell erstellt) nach manuell eingegebener $zeit und pir.py wird dadurch beendet.

    Was mache ich bei der php falsch?

    Folgenden Code habe ich geschrieben...


  • Okay, das ist schlecht, warum? Ich weiß zur Zeit jedoch keinen anderen Weg, wie ich pir.py nach einer auf der Website (nicht im Internet verfügbar) eingetragenen Zeit beenden kann. Soweit bin ich noch nicht, aber vielleicht kannst du mir ja den Code dafür sagen - ich kann es halt nur über diese Umwege...

    Für mich wäre aber auch für das Verständnis interessant: Warum funktioniert der Umweg nicht?

    pir.py:

  • hm, okay, wollte die Eingabe eh auf 1 Zeichen/Zahl reduzieren, sobald es klappt. Hilft das, Linus oder welche Prüfung wäre da nötig?

    Ich merke wieder mal, das ausgeliehen php-Buch ist nicht soooo gut. Gibt's Empfehlungen von euch für php und Python?

    An die anderen: habt ihr eine Idee?

    - Was ist mein Fehler bei der php?

    - gibt's ne Möglichkeit das über die pir.py direkter auszuschalten, wenn ich im Webserver die Zeit angebe?

    Vielen Dank!!!:danke_ATDE::helpnew::daumendreh2:

  • hm, okay bin, weil ich das Ganze eh etwas erweitere und komplexer mache, dabei alles handsamer mit nur noch einer python-datei statt 20 usw. zu versuchen. (Bin auch grad an neuen Büchern ;))

    Aber alles scheitert bei mir noch immer an dem Thema: etwas über ein Textfeld (html/css/php) einzugeben bzw. Vordefinierte Werte dort anzuklicken und diese dann als Variablen in einer bestehenden Python-Datei zu ändern.

    Kann mir da keiner helfen?

  • Hallo,

    Zitat

    Aber alles scheitert bei mir noch immer an dem Thema: etwas über ein Textfeld (html/css/php) einzugeben bzw. Vordefinierte Werte dort anzuklicken und diese dann als Variablen in einer bestehenden Python-Datei zu ändern.

    Wirf' PHP weg und setz' alles mit Python um, dann hast du das Problem nicht. Zusätzich zur Liste von hyle sollte noch Flask erwähnt werden, weil das zusammen mit Django wohl das meistgenutze Webframework für Python ist.

    hyle: aber der ganz "heiße Scheiß" ist Quart, ein Flask-Clone, welcher auf ASGI statt WSGI setzt. Wenn du das nutzt, dann bist du soweit vorne, das glaubst du gar nicht ;)

    Gruß, noisefloor

  • wenn ich jetzt trotzdem noch dabei bleibe, würde es dann übertragen auf meinen Code damit funktionieren? (Bin die ganze Woche über Pc-los)

    PHP
    <?php
    
    $l = 1.5;
    $b = 0.8;
    $result = array();
    exec("/home/pi/rechteck.py $l $b", $result);
    echo "<p>Flächeninhalt: ", $result[0];
    echo "<p>Umfang: ", $result[1];
    
    ?>
    Python
    #!/usr/bin/python3
    # Datei /home/pi/rechteck.py
    import sys;
    l = float(sys.argv[1]);
    b = float(sys.argv[2]);
    print(l*b);
    print((l+b)*2);

    Von der Seite

    https://pi-buch.info/gpio-steuerung-in-php-scripts/

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!