Ankündigung

Einklappen
Keine Ankündigung bisher.

Daten werden nicht übergeben

Einklappen

Neue Werbung 2019

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

  • Daten werden nicht übergeben

    Hallo zusammen,

    ich habe 2 Webseiten erstellt: index.html & anmeldung.php
    In der Index.html ist eine Website zur Anmeldung für ein Event hinterlegt und auf der anmeldung.php soll der User erst nochmal alle Daten sehen bevor er die Anmeldung bestätigt.
    Hierfür war mein Gedanke das ich alle Felder aus der html in variablen auf der php einlese und wieder mit echo ausgebe. Leider bekomme ich nur eine leere php und weis nicht warum das so ist.
    Kann mir jemand helfen?
    index.html:
    PHP-Code:
    <html>
    <
    head>
    <
    title>GSBA_Germany</title>
    <
    link rel="stylesheet" type="text/css" href="design.css">
    </
    head>
    <
    body>
    <
    div id="webseite">
    <
    div id="header">
    <
    h1>Test</h1>
    </
    div>
    <
    div id="main">
    <
    div id="menue">

    </
    div>
    <
    div id="inhalt">
    <
    form method="POST" action="anmeldung.php">
    <
    br>
    Anmeldedaten Person: <br>
    <
    table width="650px" border="4" align="center">
    <
    tr>
    <
    td>Anrede:</td>
    <
    td align="center">Damen:<input type="radio" name="anrede">
    Herren:<input type="radio" name="anrede"></td>
    <
    td>Titel</td>
    <
    td>
    <
    select id="titel" name="titel">
    <
    optgroup>
    <
    option value="">-</option>
    <
    option value="">Dr</option>
    <
    option value="">Prof.</option>
    <
    option value="">Prof.Dr.</option>
    </
    select>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Vorname:</td>
    <
    td><input type="text" name="vorname"></td>
    <
    td>Nachname:</td>
    <
    td><input type="text" name="nachname"></td>
    </
    tr>
    <
    tr>
    <
    td>Straße:</td>
    <
    td><input type="text" name="straße"></td>
    <
    td>PLZ Ort:</td>
    <
    td><input type="text" name="plz"></td>
    </
    tr>
    <
    tr>
    <
    td>Telefon:</td>
    <
    td><input type="text" name="telefon"></td>
    <
    td>Mobile:</td>
    <
    td><input type="text" name="mobil"></td>
    </
    tr>
    <
    tr>
    <
    td>E-Mail:</td>
    <
    td><input type="text" name="email"></td>
    <
    td></td>
    <
    td></td>
    </
    tr>
    </
    table>
    <
    br>
    Anmeldedaten Disziplin: <br>
    <
    table width="650px" border="4" align="center">
    <
    tr>
    <
    td>Gewichtsklasse:</td>
    <
    td><select id="titel" name="gewichtsklasse">
    <
    optgroup>
    <
    option value="">-</option>
    <
    option value="">superleichtgewicht <60Kg </option>
    <
    option value="">Leichtgewicht 61kg 70Kg</option>
    <
    option value="">Schwergewicht 71kg 80Kg</option>
    <
    option value="">Superschwergewicht 81Kg 90Kg</option>
    </
    select>
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Single Stick:</td>
    <
    td>
    <
    input type="checkbox" name="singlestick">
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Double Stick:</td>
    <
    td>
    <
    input type="checkbox" name="doublestick">
    </
    td>
    </
    tr>
    <
    tr>
    <
    td>Paddon Weapon:</td>
    <
    td><input type="checkbox" name="paddonweappon"></td>
    </
    tr>
    <
    tr>
    <
    td>Forms:</td>
    <
    td><input type="checkbox" name="forms"></td>
    </
    tr>
    </
    table>
    <
    input type="submit">
    </
    form>
    </
    div>
    <
    div id="footer">

    </
    div>
    </
    div>
    </
    body>
    </
    html
    anmeldung.php:
    PHP-Code:
    <html>
    <head>
    <title>Anmeldung Übersicht</title>
    </head>
    <body>
    <?php
    #Variable Anmeldedaten Person:
    $vorname $_POST("vorname");
    $nachname $_POST("nachname");
    $anrede $_POST("anrede");
    $titel $_POST("titel");
    $straße $_POST("straße");
    $plz $_POST("plz");
    $telefon $_POST("telefon");
    $mobil $_POST("mobil");
    $email $_POST("email");

    #Variable Anmeldung Disziplinen:
    $gewichtsklasse $_POST("gewichtsklasse");
    $singlestick $_POST("singlestick");
    $doublestick $_POST("doublestick");
    $paddonweappon $_POST("paddonweappon");
    $forms $_POST("forms");

    echo 
    "Hallo " .$vorname;
    echo 
    "Hallo " .$nachname;

    ?>
    </body>
    </html>
    Vorab vielen Dank
    Nachtatem

  • #2
    Bevor du mit PHP beginnst solltest du HTML und CSS lernen.
    Dein Formular ist voller Fehler und veralteter Attribute.
    Zudem verwendet man keine Tabelle für Formulare.

    Bitte bringe das erst mal in Ordnung. Nutze dazu den Validator um die Fehler zu sehen.

    Bevor du fragst wo dein Fehler ist, hier ein Auszug
    HTML-Code:
    select id="titel" name="gewichtsklasse">
    <optgroup>
    <option value="">-</option>
    <option value="">superleichtgewicht <60Kg </option>
    <option value="">Leichtgewicht 61kg - 70Kg</option>
    <option value="">Schwergewicht 71kg - 80Kg</option>
    <option value="">Superschwergewicht 81Kg - 90Kg</option>
    </select>
    value ist leer kann also nichts übertragen.
    <60 geht so auch nicht, verwende innerhalb des HTML Entitäten, für Zeichen die den Browser durcheinander bringen.

    Und jetzt leg erst mal los und wenn du alles fehlerfrei erstellt hast, dann zeige deinen Code hier mit Code-Tags und vernünftig eingerückt.

    Kommentar


    • #3
      Neben dem was protestix schon schrieb: du hast $_POST zu sehr gebügelt, die Klammern sind zu rund geworden ... (Das Umkopieren der Werte ist aber sowieso unnötig)

      Kommentar


      • #4
        Und bitte EVA-Prinzip anschauen.. Du hast die Eingabe in den Ausgabe gesteckt. https://php-de.github.io/jumpto/eva-prinzip/

        Bitte hier im Forum Code-Tags nutzen.
        The string "()()" is not palindrom but the String "())(" is.

        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
          Vorsicht! ...

          wenn ich deine selbst gefundene Handlungsabfolge sehe, dann hast du ein kleines Problem.
          Du möchtest, dass der Benutzer seine eingegebenen Daten nochmal "bestätigt" - dies erfordert im Normalfall nochmal ein Formular - für den Bestätigungsknopf ...
          Aber dann müssen die übergebenen Post-Daten auch wieder in Formular-Elemente rein, und nicht einfach stumpf per echo ins html ausgegeben werden - sonst fehlen dir die Daten nach der Bestätigung - die neuen Post-Daten würden ohne Änderung erstmal nur den Bestätigungsbutton enthalten .....

          Als Suchwort dafür würde ich dir "Affenformular" empfehlen ... (das gleiche Formular wird für Eingabe und anschließende Bestätigung verwendet - du musst nach dem ersten Absenden des Formulars dann nur die Elemente mit den Eingaben des Benutzers befüllen .. und jetzt erst den Bestätigungsknopf anzeigen..
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

          Kommentar


          • #6
            Hallo zusammen,

            @tk 1234 Danke habe den Fehler vorm Bildschirm gefunden
            hausl Das habe ich mir schon angeschaut, aber ich kann nichts ausgeben wenn nur der Quelltext auf der nächsten Seite angezeigt wird.
            eagle275 jaja immer schee druf uf die Männer. Aber du hast recht das soll ein Bestätigungsformular werden. Allerdings wollte ich nicht das Formular aufbauen wenn keine Daten übergeben werden
            und für diesen Test habe ich das echo verwendet.

            Ich habe meine codes wie folgt geändert

            PHP-Code:
            <! DOCTYPE html>
            <html>
            <head>
            <title>GSBA_Germany</title>
            <link rel="stylesheet" type="text/css" href="style.css">
            </head>
            <body>
            <div id="header"><h1> Anmeldung <br> Deutsche Meisterschaft </h1></div>
            <div id="formular">
            <form id="anmeldung" method="post" action="anmeldung.php">
            <h2>Persönliche Informationen</h2>
            <label id="lable">Anrede:</label>
            Damen:<input type="radio" name="anrede">
            Herren:<input type="radio" name="anrede">
            <br>
            <label id="lable">Titel:</label>
            <select id="titel" name="titel">
            <optgroup>
            <option value="">-</option>
            <option value="">Dr</option>
            <option value="">Prof.</option>
            <option value="">Prof.Dr.</option>
            </select>
            <br>
            <label id="vorname">Vorname:</label>
            <input type="text" name="vorname">
            <br>
            <label id="nachname">Nachname:</label>
            <input type="text" name="nachname">
            <br>
            <label id="straße">Stra&szlige:</label>
            <input type="text" name="straße">
            <br>
            <label id="plz">PLZ Ort:</label>
            <input type="text" name="plz">
            <br>
            <label id="telefon">Telefon:</label>
            <input type="text" name="telefon">
            <br>
            <label id="mobil">Mobile:</label>
            <input type="text" name="mobil">
            <br>
            <label id="email">E-Mail:</label>
            <input type="text" name="email">

            <h2>Disziplinen</h2>
            <br>
            <label id="gewichtsklasse">Gewichtsklasse:</label>
            <select id="titel" name="gewichtsklasse">
            <optgroup>
            <option value="leer">-</option>
            <option value="superleichtgewicht">superleichtgewicht bis60Kg </option>
            <option value="Leichtgewicht">Leichtgewicht 61kg - 70Kg</option>
            <option value="Schwergewicht">Schwergewicht 71kg - 80Kg</option>
            <option value="Superschwergewicht">Superschwergewicht 81Kg - 90Kg</option>
            </select>
            <br>
            <label id="singlestick">Single Stick:</label>
            <input type="checkbox" name="singlestick">
            <br>
            <label id="doublestick">Double Stick:</label>
            <input type="checkbox" name="doublestick">
            <br>
            <label id="paddonweappon">Paddon Weapon:</label>
            <input type="checkbox" name="paddonweappon">
            <br>
            <label id="forms">Forms:</label>
            <input type="checkbox" name="forms">
            <br><br>
            <label id="submit"></label>
            <input type="submit" name="senden">
            </form>
            </div>
            </body>
            </html>

            Meine PHP-Seite

            <! DOCTYPE html>
            <html>
            <head>
            <title>Anmeldung Übersicht</title>
            </head>
            <body>
            <?php

            #Variable Anmeldedaten Person:
            $vorname $_POST["vorname"];
            $nachname $_POST["nachname"];
            $anrede $_POST["anrede"];
            $titel $_POST["titel"];
            $straße $_POST["straße"];
            $plz $_POST["plz"];
            $telefon $_POST["telefon"];
            $mobil $_POST["mobil"];
            $email $_POST["email"];

            #Variable Anmeldung Disziplinen:
            $gewichtsklasse $_POST["gewichtsklasse"];
            $singlestick $_POST["singlestick"];
            $doublestick $_POST["doublestick"];
            $paddonweappon $_POST["paddonweappon"];
            $forms $_POST["forms"];

            echo 
            "Hallo " .$vorname;
            echo 
            "Hallo " .$nachname;
            ?>
            </body>
            </html>
            Mein css

            HTML-Code:
            #header{
            width: 90%;
            font-family: sans-serif;
            text-align: center;
            }
            #formular{
            width: 90%;
            }
            #anmeldung {
            background-color: #316091;
            color: #ddeff1;
            font-weight: bold;
            margin: 23px auto 0 auto;
            border-radius: 10px;
            width: 650px;
            box-shadow: 0 0 2px 2px #d9d9d9;
            
            }
            #anmeldung label{
            padding-left:26px;
            width:160px;
            text-transform: uppercase;
            display:inline-block;
            margin: 5px;
            }
            Aber ich bekomme immer noch den Code auf der PHP-Seite angezeigt und ich weis nicht warum?

            Danke für eure Hilfe

            Kommentar


            • #7
              Du hast nicht verstanden. Es geht um den PHP Code der die Eingabe verarbeitet (Verarbeitung), der bei dir inmitten des HTML-Codes (= Ausgabe) steht.

              PHP-Code:
              <html>
              <head>
              <title>Anmeldung Übersicht</title>
              </head>
              <body>
              <?php
              #Variable Anmeldedaten Person:
              $vorname $_POST("vorname");
              $nachname $_POST("nachname");
              $anrede $_POST("anrede");
              $titel $_POST("titel");
              $straße $_POST("straße");
              $plz $_POST("plz");
              $telefon $_POST("telefon");
              $mobil $_POST("mobil");
              $email $_POST("email");
              Das ganze PHP-Zeugs da muss ganz rauf, VOR das HTML.
              The string "()()" is not palindrom but the String "())(" is.

              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
                Zitat von Nachtatem Beitrag anzeigen
                Hallo zusammen,

                @tk 1234 Danke habe den Fehler vorm Bildschirm gefunden
                hausl Das habe ich mir schon angeschaut, aber ich kann nichts ausgeben wenn nur der Quelltext auf der nächsten Seite angezeigt wird.
                eagle275 jaja immer schee druf uf die Männer. Aber du hast recht das soll ein Bestätigungsformular werden. Allerdings wollte ich nicht das Formular aufbauen wenn keine Daten übergeben werden
                und für diesen Test habe ich das echo verwendet.

                Ich habe meine codes wie folgt geändert

                <! DOCTYPE html>
                <html>
                ...
                Sei doch bitte so freundlich und verwende die Code-Tags!

                Aber ich bekomme immer noch den Code auf der PHP-Seite angezeigt und ich weis nicht warum?
                Das liegt vermutlich daran, daß du die Datei (z.B. mit "Launch in Chrome/Firefox") direkt als File lädst statt vom Localhost. (Browserzeile: http://localhost/DeinePhpDatei.php

                Danke für eure Hilfe
                Insgesamt verstehe ich nicht, warum du dich nicht erstmal mit dem Affenformular beschäftigst. Das ist genau für deinen Anwendungsfall (Eingabe z.B. von Login-Daten, Prüfung und Bestätigung) gedacht und gemacht.

                Kommentar


                • #9
                  Und hier findest du (zweiter Link) auch was zum Affenformular: https://php-de.github.io/#form bzw. generell zur Formularverarbeitung.
                  The string "()()" is not palindrom but the String "())(" is.

                  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


                  • #10
                    @ maria123 Insgesamt verstehe ich nicht, warum du dich nicht erstmal mit dem Affenformular beschäftigst. Das ist genau für deinen Anwendungsfall (Eingabe z.B. von Login-Daten, Prüfung und Bestätigung) gedacht und gemacht.

                    Ich lese mich gerade ein Danke das ist genau richtig.

                    Sobald ich eins erstellt habe stelle ich es ein.

                    Kommentar


                    • #11
                      Zitat von hausl Beitrag anzeigen
                      Du hast nicht verstanden. Es geht um den PHP Code der die Eingabe verarbeitet (Verarbeitung), der bei dir inmitten des HTML-Codes (= Ausgabe) steht.



                      Das ganze PHP-Zeugs da muss ganz rauf, VOR das HTML.
                      Ah ok dann waren die Infos von einem Bekannten falsch. Danke


                      Ich schaue gerade das Affenformular an und frage mich ob ich meine bis jetzt aufgebaute html-Seite verwenden kann um die Daten im Formular einzutragen und dann an eine php-Seite zu übergeben um die Prüfung der Felder durchzuführen,
                      oder ob es so ist das ich die Seite neu in php aufbaue um da die Eingabe und Überprüfung stattfinden zu lassen.
                      Wenn ja kann ich dann die form 1zu1 übertragen?

                      Danke


                      Kommentar


                      • #12
                        Zitat von Nachtatem Beitrag anzeigen

                        Ah ok dann waren die Infos von einem Bekannten falsch. Danke


                        Ich schaue gerade das Affenformular an und frage mich ob ich meine bis jetzt aufgebaute html-Seite verwenden kann um die Daten im Formular einzutragen und dann an eine php-Seite zu übergeben um die Prüfung der Felder durchzuführen,
                        oder ob es so ist das ich die Seite neu in php aufbaue um da die Eingabe und Überprüfung stattfinden zu lassen.
                        Wenn ja kann ich dann die form 1zu1 übertragen?

                        Danke

                        Die Antwort steht in dem Affenformular-Tutorial. Tatsächlich ist es so, daß du - vorausgesetzt du arbeitest nicht mit einer Validitätsprüfung mit Javascript und/oder Nachladen mit AJAX - die beiden Dateien zu einer einzigen php-Datei zusammenführen mußt, ja. Allerdings mußt du dann in Abhängigkeit von den vorhandenen oder nicht vorhandenen POST-Werten die Formular-Felder vorbelegen: Beim initialen Laden mit leeren Zeichenketten bzw. Default-Werten, ab dem 2. Laden mit den jeweils vorher eingegebenen Werten.

                        Aber das steht alles im Artikel (Abschnitt Herleitung aus einer Standard-Formularverarbeitung).

                        Kommentar

                        Lädt...
                        X