Ankündigung

Einklappen
Keine Ankündigung bisher.

Eingabewerte im Formular sollen stehen bleiben

Einklappen

Neue Werbung 2019

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

  • Eingabewerte im Formular sollen stehen bleiben

    Hallo,

    ich bin neu hier und in php. Daher weiß ich nicht, ob ich in der richtigen Gruppe bin.

    Ich habe ein Formular, wo ich Werte eintrage und diese Berechnet werden.

    Wenn ich auf das Button klicke, möchte ich, dass die Eingabewerte stehen bleiben.

    Ich weiß, das man value benutzt. Leider habe ich ich immer Fehlermeldungen.

    Unten habe ich einen Textabschnitt eingefügt.

    Ich hoffe ihr könnt mir weiterhelfen.

    Vielen Dank.




    PHP-Code:
    <form method="POST" >

    <fieldset>
    <p><label for="kBreite">Breite</label>
    <input type="text"
    name = "kBreite"
    value = <?php echo $_POST["kBreite"]; ?> Hier habe ich Probleme !!
    required
    placeholder = "Breite?"
    autofocus/>
    </p>

    <p><label for="kLaenge">Länge</label>
    <input type="text"
    name = "kLaenge"
    required
    placeholder="Länge?">
    </p>

    <p><label for="kHoehe">Höhe</label>
    <input type="text"
    name = "kHöhe"
    required
    placeholder="Höhe?">
    </p>


  • #2
    Ich weiß, das man value benutzt. Leider habe ich ich immer Fehlermeldungen.
    Hier habe ich Probleme !!
    PHP liefert konkrete Fehlermeldungen, die auf deinem Computer können wir aber nicht sehen, die musst du schon liefern, mit einem konkreten Ist/Soll-Zustand und was du daran nicht verstehst.
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      Wahrscheinlich weil dieser Index beim ersten Laden der Seite nicht existiert.
      Probiere mal
      PHP-Code:
      <?= isset($_POST["kBreite"]) ? $_POST["kBreite"] : ''?>

      Kommentar


      • #4
        Und die "-Zeichen nicht vergessen. Die Fehlen oben. Außerdem solltest du den Kontextwechsel beachten!!!
        https://php-de.github.io/jumpto/kontextwechsel/

        Kommentar


        • #5
          Man sollte sein Problem auf das Notwendigste reduzieren....

          PHP-Code:
          <?php
          function htmlOut ($val){
            return 
          htmlspecialchars($valENT_COMPAT ENT_HTML5"UTF-8");
          }
          ?>
          <!DOCTYPE html>
          <html lang=de>
            <meta charset=UTF-8>
            <title>Document</title>
          <form method=post>
            <input name=myInput value="<?= htmlOut($_POST['myInput'] ?? ""); ?>">
            <button type=submit>Absenden</button>
          </form>

          Kommentar


          • #6
            Hallo,

            vielen Dank erstmal, aber irgendwie klappt es nicht. ICh bekomme keine FEhlermeldung, es stehen Variablen in den Eingabefeldern.

            Hier der Code. Es geht um den Bereich Zeile 98 - 128.

            PHP-Code:
            <!DOCTYPE html>
            <html lang="de">
            <head>
            <meta charset="utf-8" />
            <title>Grundstueck</title>
            </head>
            <body>


            <h1> Grundstückspreise </h1>

            <table border="0" style="width:20%;table-layout:fixed;">

            <?php
            global $formg;
            $formg 5;
            $kNettoProv 0;
            $kBreite 0;
            $kNetto 0;
            $kBrutto 0;
            $Prov "";

            function 
            div($kBreite$kLaenge,$kPreis)
            {
            $ergebnis $kBreite $kLaenge $kPreis;
            return 
            $ergebnis;
            }




            if (isset(
            $_POST["kBreite"])) { $kBreite $_POST["kBreite"]; }
            if (isset(
            $_POST["kLaenge"])) { $kLaenge $_POST["kLaenge"]; }
            if (isset(
            $_POST["kPreis"])) { $kPreis $_POST["kPreis"]; $kNetto div($kBreite$kLaenge$kPreis);}


            if (isset(
            $_POST["Provi"] ))
            {
            $kNettoProv $kNetto + ($kNetto $_POST["Provi"] /100 );
            }

            if (isset(
            $_POST["CBox1"]))
            {
            $kBrutto $kNettoProv 1.19 ;
            }
            else

            {

            $kBrutto $kNettoProv;

            }

            if (isset(
            $_POST["kBreite"]))
            {

            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Breite:</td>";
            echo 
            "<td style=width:5%>$_POST[kBreite]</td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Länge</td>";
            echo 
            "<td style=width:5%>$_POST[kLaenge]</td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Preis pro m²:</td>";
            echo 
            "<td style=width:5%>$_POST[kPreis]</td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Nettopreis:</td>";
            echo 
            "<td style=width:5%>$kNetto</td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Nettopreis mit Provision:</td>";
            echo 
            "<td style=width:5%>$kNettoProv</td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%>Bruttopreis:</td>";
            echo 
            "<td style=width:5%> $kBrutto </td>";
            echo 
            "</tr>";
            echo 
            "<tr>";
            echo 
            "<td style=width:10%> </td>";
            echo 
            "<td style=width:5%> </td>";
            echo 
            "</tr>";

            }


            ?>

            </table>


            <form method="POST" >

            <fieldset>

            <p> <label for="kBreite">Breite</label>
            <input type="text"
            name = "kBreite"
            required
            placeholder = "Breite?"
            value = <?php isset($_POST["kBreite"]) ? $_POST["kBreite"] : ''?></>
            </p>

            <p><label for="kLaenge">Länge</label>
            <input type="text"
            name = "kLaenge"
            required
            placeholder="Länge?">
            value = <?php isset($_POST["kLaenge"]) ? $_POST["kLaenge"] : ''?>
            </p>

            <p><label for="kPreis">Preis pro m²</label>
            <input type="text"
            name = "kPreis"
            required
            placeholder="Preis pro m²">
            value = <?php isset($_POST["kPreis"]) ? $_POST["kPreis"] : ''?>

            </p>

            <p>
            <label for="Provi">Provisionssatz:</label>
            <select size="1" id="Provi" name="Provi">

            <option value="3"
            <?php if($Provi "3" ) {
            echo 
            "selected";
            }
            ?>>3</option>

            <option value="4"
            <?php if($Provi "4") {
            echo 
            "selected";
            }
            ?>>4</option>

            <option value="5"
            <?php if($Provi "5" ) {
            echo 
            "selected";
            }
            ?>>5</option>

            <option value="6"
            <?php if($Provi "6" ) {
            echo 
            "selected";
            }
            ?>>6</option>

            <option value="7"
            <?php if($Provi "7" ) {
            echo 
            "selected";
            }
            ?>>7</option>

            </select>




            </p>

            <p>
            <input type="checkbox" id="cb1" name="CBox1" value="MwSt" />
            <label for="cb1">MwST</label>
            </p>



            </fieldset>
            <br>
            <input type = "submit" value="Berechnen"/>
            <br>

            </form>

            </body>
            </html>

            Kommentar


            • #7
              https://php-de.github.io/jumpto/text...en-der-eingabe

              bzw. ev. mal generell in die Thematik einlesen dürfte nicht schaden

              https://php-de.github.io/#form

              Und schau dir auch unbedingt mal das EVA-Prinzip an und halte es ein. Dein Gemisch oben ist nicht ideal. https://php-de.github.io/jumpto/eva-prinzip/

              Und bitte nutze Code-Tags hier im Forum.
              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


              • #8
                PHP-Code:
                <?= isset($_POST["kBreite"]) ? $_POST["kBreite"] : ''?>
                <?php 
                isset($_POST["kBreite"]) ? $_POST["kBreite"] : ''?>
                Der Unterschied ist klein aber das Erste gibt etwas aus, das Zweite (Deine Variante) nicht.

                Kommentar


                • #9
                  PHP-Code:
                  if (val1 == val2
                  $Prov <> $Provi
                  Code:
                  label for
                  muss auf eine ID verweisen

                  versuche zuerst mal valides HTML zu erzeugen.

                  Kommentar


                  • #10
                    Und beachte das EVA-Prinzip.. Dein Durcheinander aus HTML und PHP ist grauslich. Du definierts zB eine PHP-Funktion(!) in mitten der Ausgabe, HTML-Code ist nämlich nichts anderes. Die hat dort aber nichts verloren. Versuche gleich von Beginn an es sauber zu machen, dann gehts du automatisch vielen Problemen aus dem Weg.

                    Dreh das PHP Error Reporting mal ganz hoch, ( https://php-de.github.io/jumpto/faq/#debugging ) behebe die Meldungen und schau das du w.o. schon erwähnt valides HTML erzeugst. Ev. hat sich dann schon alles erledigt. Sonst .. debuggen.. $_POST ausgeben lassen, schaun was übergeben wird.. etc.. Debuggen halt, nichts besonderes. Dazu braucht man eigenltich kein Forum, das ist nicht schwer, man muss es nur machen.
                    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
                      Und nutzte eine anständige IDE, welche dir Syntax Fehler direkt anzeigt. $_POST[kBreite] ist falsch, weiter oben machst du es dann wieder richtig.

                      Kommentar


                      • #12
                        PHP-Code:
                        echo "<td style=width:5%>$_POST[kBreite]</td>"
                        Sowas haut die ein komplett offenes Error Reporting auch um die Ohren.
                        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
                          Zitat von hausl Beitrag anzeigen
                          Sowas haut die ein komplett offenes Error Reporting auch um die Ohren.
                          Nein, da innerhalb eines Strings ist es zwar nicht unbedingt schön aber korrekt.

                          Kommentar


                          • #14
                            Doch, weil beim Index die ' ' fehlen.

                            PHP-Code:
                            $_POST[kBreite
                            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


                            • #15
                              Zitat von hausl Beitrag anzeigen
                              Doch, weil beim Index die ' ' fehlen.
                              Prinzipiell stimmt das schon, hier steht das ganze aber in doppelten Anführungszeichen, da gilt das nicht, siehe Handbuch (der Block unter dem roten Warnung-Block).

                              Kommentar

                              Lädt...
                              X