Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP Skript. Eingegebene in Textarea anzeigen lassen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] PHP Skript. Eingegebene in Textarea anzeigen lassen

    Hallo,

    ich komme nicht weiter..

    habe einen Textfeld und einen OK button. Wenn ich auf OK drücke, soll es das alles im Textfeld eingegebene in einer Textarea genau dasselbe anzeigen lassen. (Bitte kein javascript)

    Wer kann mir helfen?

    Danke im Vorraus.


  • #2
    - Und woran genau scheitert es?
    - Wie sieht dein bisheriger Versuch aus?

    Im Grunde brauchst du nur die $_POST-Var anzeigen, sofern gesetzt. Das sind absolute Grundlagen im Umgang mit Forms, da gibt es sicher massig tutorials dazu -> google.

    Siehe auch: http://php-de.github.io/#form -> speziell "Textfelder"

    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      genau das ist ja mein problem. bin ein anfänger. bis jetzt kann ich den text nur in der textarea direkt anzeigen, ohne etwas in das textfeld einzugeben.

      PHP-Code:
      <?php
      $text 
      "Dies ist ein kleines Beispiel";
      ?>

      <input type="text" name="text"/><input type="button" value="OK">
      <textarea name="text" style="border:1px solid #8BAEE8;" cols="50" rows="10"><?php echo $text ?>
      </textarea>
      habe mich durch viele tutorials durchgeschaut..

      mir ist der OK button mittlerweile egal. ein ENTER genügt. nur wie wird der text den ich ins textfeld eintippe im textarea angezeigt, sobald man auf enter drückt

      Kommentar


      • #4
        Ich erwähnte doch schon $_POST ... Nach dem submit hast du alle Daten des Form im $_POST Array.

        mach mal zu beginn ein
        PHP-Code:
        var_dump($_POST); 
        und schick das form mal ab. Du wirst sehen beim ersten Aufruf ist das $_POST leer, wenn du das form abschickst, dann wird der Inhalt darin enthalten sein, natürlich vorausgesetzt dein form ist korrekt, das hab ich jetzt nicht im Detail angeschaut.

        Das du ein
        HTML-Code:
        <form ...>
        </form>
        hast gehe ich mal davon aus, sonst schau dir Tutorals an wie man Forms baut.
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          bitte schau dir das mal an das mit dem $_POST hat nicht geholfen, dann stand das was komisches mit array

          PHP-Code:
          <html>
          <body>


          <?php
          $text 
          "Dies ist ein kleines Beispiel";

          echo 
          '<form name="test">';
          echo 
          '<input type="text" name="text" value="'.$text.'"/>';
          echo 
          '<input type="submit" value="OK"/>';
          echo 
          '<textarea name="text" style="border:1px solid #8BAEE8;" cols="50" rows="10">'.$text.'';

          echo 
          '</textarea>';
          echo 
          '</form>';
          ?>


          </body>
          </html>

          Kommentar


          • #6
            das mit dem $_POST hat nicht geholfen, dann stand das was komisches mit array
            - Wieso komisch, das ist die Aufgabe von var_dump() - siehe Doku.

            - dein form hat keine methode und kein action Attribut

            - value"'.$text.'"/> ist falsche syntax, fehlt ein =

            - dein Input-Feld und die Textarea haben den selben Namen text, ebenfalls falsch

            Wie gesagt, schau dir mal andere Beispiele genau an.

            http://www.schattenbaum.net/php/variable2.php
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              danke das klappt! aber es wird so komisch angezeigt wenn ich zum beispiel in das textfeld: Hallo eintippe zeigt es mir: array(2) { ["inhalt"]=> string(2) "Hallo" ["text"]=> string(29) "DIes Ist eIn kleInes BeIspIel" } an.

              Abgesehen davon, wird dieser text leider nicht in der textarea ausgegeben, sondern einfach irgendwo auf der seite. wie krieg ich das hin?

              PHP-Code:
              <html>
              <body>


              <?php
              var_dump
              ($_POST);
              $text "Dies ist ein kleines Beispiel";
              $text str_replace("i""I"$text);

              echo 
              '<form name="test" method="post">';
              echo 
              '<input type="text" size="20" name="inhalt">';
              echo 
              '<input type="submit" value="OK"/>';
              echo 
              '<textarea name="text" style="border:1px solid #8BAEE8;" cols="50" rows="10">'.$text.'';

              echo 
              '</textarea>';
              echo 
              '</form>';
              ?>


              </body>
              </html>

              Kommentar


              • #8
                - es gibt immer noch zwei "text"

                - sei dir klar was var_dump() macht

                - seit dir klar das deine Variable $text genau gar nihts mit dem zu tun hast was du im form abschickst -> denn das ist im $_POST -Array und dessen Inhalt zeigst du oben mit var_dump() an - zum Testen. Dh du musst prüfen ob deine Variable im $_POST-Array vorhanden ist und dann deine $text damit füllen. Das könnte so aussehen:

                PHP-Code:
                // var_dump($_POST);

                $text "Ich bin der Platzhalter";
                if (isset(
                $_POST["text"])) {  // genau daher muss der Name eindeutig sein!
                    
                $text $_POST["text"];

                - das sind absolute einfachste Grundlagen, die bekommst du selbst heraus wenn du genau schaust und - ganz wichtig - versuchst zu verstehen was jedes dieser "Kommandos" macht.

                - Und zieh dir jedenfalls "EVA" rein, das PHP gewühlt in mitten des HTML-Code kannst gleich lassen, auch <html> gehört zur Ausgabe und das ist der letzte Teil der Verarbeitung. http://php-de.github.io/jumpto/eva-prinzip/

                LG
                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  verstehen tu ichs. umsetzen jedoch nicht :/ . var_dump gibt alle informationen der variablen herraus. was ich aber hier noch versuche ist, das was ich eingebe z.B. Hallo, soll er alle buchstaben mit a großschreiben -> HAllo. das ging bisher mit $text = str_replace("a", "A", $text); wo er das ersetzt. nun nicht mehr. natürlich weil das damit nichts zu tun hat

                  Kommentar


                  • #10
                    Bekomm es mal so hin, das der Text "normal" übernommen wird und zeig den aktuellen Code her, dann gehts weiter, das ist dann nur mehr eine Kleinigkeit.
                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #11
                      Danke. Ich bin hier, aber es rührt sich nichts: das zweite ''text'' hab ich aus der textarea entfernt. wenn ichs drinne lasse steht da ''Platzhalter''. (das wort wir normal übernommen bzw. da steht einfach nur ''Platzhalter'')
                      und wenn ich was ins textfeld eingebe passiert einfach nichts. so sieht es momentan aus:
                      PHP-Code:
                      <html>
                      <body>


                      <?php
                      // var_dump($_POST);
                      $text "Platzhalter";
                      if (isset(
                      $_POST["text"])) {
                          
                      $text $_POST["text"];
                      }
                      $text str_replace("i""I"$text);

                      echo 
                      '<form name="test" method="post">';
                      echo 
                      '<input type="text" size="20" name="inhalt">';
                      echo 
                      '<input type="submit" value="OK"/>';
                      echo 
                      '<textarea name="text" style="border:1px solid #8BAEE8;" cols="50" rows="10">';

                      echo 
                      '</textarea>';
                      echo 
                      '</form>';
                      ?>


                      </body>
                      </html>

                      Kommentar


                      • #12
                        Schau mal was welche du ausliest, welche du verarbeitest und was du wohin ausgibst. Beutze ev. sprechendere Namen, dann ist es deutlicher $text oder "Text" "Inhalt" ist nicht so ideal.
                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar


                        • #13
                          hahah jetzt bin ich total verwirrt. ich hab mir das so vorgestellt:


                          PHP-Code:
                          <html>
                          <body>


                          <?php
                          // var_dump($_POST);
                          $text "Platzhalter";
                          if (isset(
                          $_POST["Inhalt"])) {     //hier liest er den text vom textfeld
                              
                          $text $_POST["Ausgabe"];  //hier gibt es den text in der textarea aus
                          }

                          echo 
                          '<form name="Formular" method="post">';
                          echo 
                          '<input type="text" size="20" name="Inhalt">';
                          echo 
                          '<input type="submit" value="OK"/>';
                          echo 
                          '<textarea name="Ausgabe" style="border:1px solid #8BAEE8;" cols="50" rows="10">';
                          echo 
                          '</textarea>';
                          echo 
                          '</form>';
                          ?>


                          </body>
                          </html>
                          ~

                          Kommentar


                          • #14
                            Du verwendest unten im Form keine deiner Vars.

                            Und das ist auch blödsinn:

                            PHP-Code:
                            text "Platzhalter";
                            if (isset(
                            $_POST["Inhalt"])) {     //hier liest er den text vom textfeld
                                
                            $text $_POST["Ausgabe"];  //hier gibt es den text in der textarea aus

                            Ich kann dir nichmal vorschlagen nachzudenken und anzuschauen was du da eigentlich genau machst, weil dir scheinbar so viel an Grundlagen fehlen, das du nichtmal weißt was du da machst. Das musst du vorher mal beheben, vorher bringt das nichts...

                            Ach.. was solls... Da - die grundsätzliche Vorgehenweise:

                            PHP-Code:
                            <?php

                            // zum Entwickeln - error reporting voll aufdrehen
                            ini_set("display_errors"1);
                            error_reporting(-1);


                            // Vorbelegung
                            $text "Platzhalter";

                            // wenn im Formaular mit Namen "eingabe" was vorhanden,
                            // dann das statt Vorbelegung oben verwenden
                            if (isset($_POST["eingabe"])) {
                                
                            $text $_POST["eingabe"];
                            }

                            // Ausgabe:
                            ?>
                            <html>
                              </body>
                                <form name="Formular" method="post">
                                  <input type="text" size="20" name="eingabe">
                                  <input type="submit" value="OK"/>
                                  <textarea name="ausgabe" style="border:1px solid #8BAEE8;" cols="50" rows="10"><?php echo htmlspecialchars($text); ?></textarea>
                                </form>
                              </body>
                            </html>
                            Wozu das htmlspecialchars() gut ist und was sonst noch so generell wichtig ist im Umgang mit Formularen, deren Sicheheit etc.. findest du alles hier http://php-de.github.io/#form
                            Unbedingt durchlesen, bevor(!) du etwas online stellst!

                            LG
                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar

                            Lädt...
                            X