liebewinter: Formulardaten bauen mit JavaScript oder PHP

Hallo , ich möchte am die Meister fragen welche Methode soll ich benutze für meine Formulareingabe .... , Jeztz habe das , das Probleme ist wie weiter machen soll ...wo kann erfahrung bekommen ? , es Besser JavaScript oder PHP ? , ich möchte wenn jemand etwas schreibt ,Oben geschrieben wird.. .

Viele dank weil eure kenntnisse mit mir teilen !

  1. hallo

    Hallo , ich möchte am die Meister fragen welche Methode soll ich benutze für meine Formulareingabe .... , Jeztz habe das , das Probleme ist wie weiter machen soll ...wo kann erfahrung bekommen ? , es Besser JavaScript oder PHP ? , ich möchte wenn jemand etwas schreibt ,Oben geschrieben wird.. .

    Du solltest label Elemente verwenden.

    Zudem dürfte dich <input type=email> interessieren.

    Für zwingende Eingaben git es das required Attribut.

    Zur Verarbeitung deines Formulars brauchst du eine serverseitige Logik. Das kann PHP oder node.js sein.

    Aber mit clientseitigem Javascript kommst du nicht zum Ziel.

    --
    Neu im Forum! Signaturen kann man ausblenden!
    1. Danke für deine antwort ! , aber für jemand der von Null anfang was würdest empfiehlt , lernen der Grund von Java Script und PHP , Beispiel hier , meine Idee ist das die Menschen ihren Kommentar schreibt und gleichzeit wird gepostet ohne bevor ich etwas zu machen ...

    2. ich habe eine video gefunde und mit einem einfacher Beispiel zeigt , wie eine Kommentar Formular in PHP zu bauen....

      das video

      https://www.youtube.com/watch?v=O4BkHj7Ws9U

      in den zweite teil sprecht wie machen das letzte kommentar , oben bleibt...

      https://www.youtube.com/watch?v=0KwnPS5OhGI

      1. ich habe halles gemacht wie uaf dem Erste video stehe ,aber funzioniert werde kommentar noch das fenster zeig die PHP codec... , mein codec:

        <html>
        
        <form action="" method="post">
        
        <label> Name: <br><input type="text" name="name"><br></label>
        
        <label> Message: <br><textarea cols="45" rows="6" name="mes"></textarea><br></label>
        
        <input type="submit" name="post" value="post">
        
        
        </form>
        </html>
        
        <?php 
        $name = $_POST("name"); 
        $text = $_POST("mes"); 
        $post = $_POST("post");
        
        if($post){
        
        $write = fopen("com.txt", "a+");
        fwrite($write, "<u><b> $name</b></u><br>$text<br>"); 
        fclose($write);
        
        
        else{ 
        
        $read = fopen("com.text", "r+t");
        echo "All Comments:<br>";
        
        while(!feof($read)){ 
        echo fread($read, 1024);
        }
        
        fclose($read);
        }
        
        else{ 
        
        $read = fopen("com.text", "r+t");
        echo "All Comments:<br>";
        
        while(!feof($read)){ 
        echo fread($read, 1024);
        }
        
        fclose($read);
        
        ?>
        
        ich habe auch ein leer **com.txt** geoffnet ,aber macht nichts..
        

        was meine Browser zeigt..

        was meine browser zeigt mit html und php zusammen

        1. @@ liebewinter

          echo fread($read, 1024);
          

          Das ist ein kapitaler Fehler: Du darfst niemals Daten, die potentiell gefährlich sein können (z.B. Eingaben von Nutzern) unbehandelt in HTML ausgeben. Sicherheitslücke!

          Das mindeste, was du tun musst, wäre die Behandlung mit htmlspecialchars().

          echo htmlspecialchars(fread($read, 1024));
          

          Geht aber so nicht, weil da schon Markup drin ist, das du erhalten willst. Zwei Möglichkeiten:

          1. Du wendest htmlspecialchars() schon beim Speichern der Nutzereingaben an:

          fwrite($write, '<u><b>' . htmlspecialchars($name) . '</b></u><br>' . htmlspecialchars($text) . '<br>');
          

          Das ist aber nicht das bevorzugte Vorgehen; man sollte den Kontextwechsel beachten, wenn der Kontext gewechselt wird. Also den Kontextwechsel zu HTML in dem Moment, wenn Daten in HTML ausgegeben werden.

          2. Du speicherst Namen und Text getrennt, JSON bietet sich dafür an:

          fwrite($write, json_encode(array('name' => $name, 'text' => $text)));
          

          Bei der Ausgabe dann json_decode() und htmlspecialchars().

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. Danke für deine Antwort ! , aber jetzt bin auf eine einfache frage , wie php und html zusammen arbeiten..ich bin ganz neu mit html.... ,php auch bin ganz neu.. ich habe mit python Einbissen gearbeitet , deshalb ich denke mir helfe um php zu verstande kann... .Weisst du wo eine einfache Beispiel gibt wo php und html bei kommentar werden benutz ?

            das Beispiel dem ich gepostet habe ist für local netzwerk (aber bis jetzt kann es nicht funzioniert zu machen... ☹) , deshalb über sicherheit habe ich nicht jetzt kümmere.. aber danke für deine Post , wenn ich Einbissen mehr Erfahrung habe , ich möchte über deinen Vorschlag aufpassen ☺️

            1. Hallo,

              Vielleicht sage ich jetzt etwas, was Du schon weißt. Aber...

              Wenn man nur HTML, CSS und JS Dateien hat, kann man sie mit dem Browser direkt aus dem Dateisystem laden und braucht keinen Webserver. Für PHP ist das anders, PHP wird auf dem Server ausgeführt. Das Wort "Webserver" bedeutet nicht, dass es ein eigener Computer sein muss. Ein Webserver ist vor allem ein Programm, das HTTP Anfragen beantworten kann. Dieses Programm kann auf einem Computer irgendwo im Internet laufen. Aber auch auf deinem eigenen Computer.

              Wenn Du eine Webseite hast, die andere Leute aufrufen sollen, dann verwendest Du dafür nicht deinen eigenen Computer. Für so etwas gibt es Webhoster, bei denen Du für ein paar Euro im Monat Platz auf einem Server mietest. Deinen eigenen Computer verwendest Du nur zum Bauen der Webseite. Und dann veröffentlichst Du sie auf dem gemieteten Webserver.

              Also: hast Du auf deinem Computer einen Webserver (zum Beispiel Apache)? Lädst Du deine HTML Seiten über diesen Webserver, oder lädst Du sie direkt aus dem Dateisystem? Das ist ein wichtiger Unterschied, denn PHP funktioniert nur wenn ein Webserver beteiligt ist. Der Webserver muss so eingerichtet sein, dass er PHP versteht. Das heißt: Der Webserver muss wissen, dass eine PHP Datei nicht einfach zum Browser geschickt werden darf, sondern dass er dafür den PHP Interpreter starten muss. Das muss man alles einrichten. Und wenn eine HTML Seite ein Formular hat, auf dem man Daten eingeben kann, dann muss das PHP Programm diese Daten auf dem Server speichern können. Das kann es als Datei tun, aber besser ist eine Datenbank. Hast Du eine Datenbank?

              Es gibt fertige Pakete, die man auf seinem PC installieren kann, und die alles mitbringen. Eins davon heißt XAMPP. Das X steht für das Betriebssystem, es gibt LAMPP (Linux) und WAMPP (Windows). Das A steht für Apache, den Webserver. Das M steht für MySQL, eine kostenlose SQL Datenbank. Die zwei P stehen für PHP und Perl. Du kannst den Serverteil einer Web-Anwendung in PHP oder Perl schreiben, mit PHP haben hier mehr Leute Erfahrung.

              Rolf

              --
              sumpsi - posui - clusi
              1. @@Rolf B

                Das kann es als Datei tun, aber besser ist eine Datenbank.

                Eine Datei mit Daten ist eine Datenbank. (Das Format kann bspw. CSV, JSON oder XML sein.)

                Und dass ein Datenbankmanagementsystem besser wäre als eine einfache Datei, kann man so pauschal nicht sagen.

                LLAP 🖖

                --
                „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        2. so , ich habe das probleme gelöst.. ☺️ , die problemen waren das mir fehlen einiger sachen.... , Eine , fehlte mir Modules wie Beispiel :

          libapache2-mod-php7.0

          Zwei , fehlte mir rechten zum Datei in Apache , jezt habe es gegeben…

          sudo chown -R www-data:www-data /var/www/html

          Das Bild mit dem Formulardate…

          Screenshow von meinen Formulardaten

          jetzt versuche besser zu machen ,aber ich finde nicht viel Information...

          1. Hier habe gelesen das ich eine Input Validations brauche , meine frage auf euch , ich brauche für meine Website diese Input Validation ??