• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Versteckte Elemente in Formularen definieren

nina20

Neues Mitglied
Hallo,

ich benötige Eure Hilfe.
Und zwar habe ich ein Formular per HTML,JavaScript und PHP erstellt.
Auf der ersten Seite befinden sich 4 Fragen und "Weiter" Button. Auf der nächsten Seite sollen weitere 4 Fragen kommen. Möchte aber, dass die Daten der 1. Seite mitgeliefert werden, aber nicht sichtbar sind, damit diese Daten auf der 3. Seite aufgelistet werden können und diese dann per Mail verschickt werden.

Benutzt man hierbei "input type="hidden"? Ich weiß leider nicht, wo genau ich das alles einbauen soll. Auch auf der 2. Seite? Kann mir da jemand helfen?

Hier mein Code:

Seite 1:

HTML:
<!DOCTYPE html><html><head><link href="style.css" rel="stylesheet" type="text/css"/>


<?php
echo "<h1>Kontaktformular</h1>";

$name         =$_GET['name'];$vorname     =$_GET['vorname'];$adresse    =$_GET['adresse'];$datum         =$_GET['datum'];
if(@($_GET['name']) AND isset($_GET['vorname']) AND isset($_GET['adresse']) AND isset($_GET['datum'])) { 
echo "Name:".$name."<br>";echo "Vorname:".$vorname."<br>";echo "E-Mail Adresse:".$adresse."<br>";echo "Geburtsdatum:".$datum."<br><br>";
}

?>

<script type='text/javascript'>
function validateForm () {    if(document.form.name.value=="")    {    alert("Bitte Name angeben");    return false;    }            if(document.form.vorname.value=="")    {    alert("Bitte Vorname angeben");    return false;    }                if(document.form.adresse.value=="")    {        alert("Bitte E-Mail Adresse eingeben");        return false;            }                    if(document.form.adresse.value.indexOf('@')==-1)    {        alert("Keine E-Mail Adresse");        return false;    }            if(document.form.datum.value=="")    {        alert("Bitte Geburtsdatum eingeben");        return false;    }        }    </script>
<title>Ich bin ein Formular</title></head>
<body>
<form name='form' onsubmit="return validateForm();" method='get' action='formular2.php'>                    <div class='name'>        <label for='name'>Name</label>        </div>                <div class='name_text'>        <input type='text' id='name' name='name'>             </div>                <br>                <div class='vorname'>        <label for='vorname'>Vorname</label>        </div>                <div class='vorname_text'>        <input type='text' id='vorname' name="vorname">        </div>                <br>                <div class='adresse'>        <label for='adresse'>E-Mail Adresse</label>        </div>                <div class='adresse_text'>        <input type='text' id='adresse' name='adresse'>                </div>                <br>                <div class='datum'>        <label for='datum'>Geburtsdatum</label>        </div>                <div class='datum'>        <input type='text' id='datum' name='datum'>        </div>                        <br>        <br>        <br>                <div class='button'>            <input type="submit" value="weiter">        </div>
    </form>
</body></html>


Seite 2:

HTML:
<!DOCTYPE html><html><head><link href="style.css" rel="stylesheet" type="text/css"/>
<?php
echo "<h1>Kontaktformular</h1>";

$wohnort         =$_GET['wohnort'];$geburtsort     =$_GET['geburtsort'];$lieblingstier    =$_GET['lieblingstier'];

if(@($_GET['wohnort']) AND isset($_GET['geburtsort']) AND isset($_GET['lieblingstier']) AND isset($_GET['lieblingsblume'])) { 
echo "Wohnort:".$wohnort."<br>";echo "Geburtsort:".$geburtsort."<br>";echo "Lieblingstier:".$lieblingstier."<br>";}



?>

<script type='text/javascript'>
function validateForm () {
    if(document.form.wohnort.value=="")    {    alert("Bitte Wohnort angeben!");    return false;    }                if(document.form.geburtsort.value=="")    {    alert("Bitte Geburtsort angeben!");    return false;    }            if(document.form.lieblingstier.value=="")    {    alert("Bitte Lieblingstier angeben!");    return false;    }            }    </script>
<title>Ich bin ein Formular</title></head>
<body>

<form name='form' onsubmit="return validateForm();" method='get' action='verarbeitung.php'>                    <div class='wohnort'>        <label for='name'>wohnort</label>        </div>                <div class='wohnort_text'>        <input type='text' id='wohnort' name='wohnort'>             </div>                <br>                <div class='geburtsort'>        <label for='geburtsort'>Geburtsort</label>        </div>                <div class='geburtsort_text'>        <input type='text' id='geburtsort' name="geburtsort">        </div>                <br>                <div class='lieblingstier'>        <label for='lieblingstier'>Lieblingstier</label>        </div>                <div class='lieblingstier_text'>        <input type='lieblingstier' id='lieblingstier' name='lieblingstier'>                </div>                <br>                                      <br>        <br>        <br>                <div class='button'>            <input type="submit" value="Abschicken">        </div>
    </form>    </body></html>


Seite 3:


HTML:
<html><head><link href="style.css"rel="stylesheet" type="text/css"/>
</head><body>
<h1>Ergebnisse:</h1><br>
<?php
$name         =$_GET['name'];$vorname     =$_GET['vorname'];$adresse    =$_GET['adresse'];$datum         =$_GET['datum'];$wohnort         =$_GET['wohnort'];$geburtsort     =$_GET['geburtsort'];$lieblingstier    =$_GET['lieblingstier'];


//-------------------------------
echo "Name:".$name."<br>";echo "Vorname:".$vorname."<br>";echo "E-Mail Adresse:".$adresse."<br>";echo "Geburtsdatum:".$datum."<br>";echo "Wohnort:".$wohnort."<br>";echo "Geburtsort:".$geburtsort."<br>";echo "Lieblingstier:".$lieblingstier."<br>";

//------------Mail verschicken

  $empfaenger = "[email protected]";    $betreff = "Kontaktformular";  
  $text ="  Name: $name   Vorname: $vorname    E-Mail Adresse: $adresse    Geburtsdatum: $datum  Wohnort: $wohnort   Geburtsort: $geburtsort    Lieblingstier: $lieblingstier";  
  mail ($empfaenger, $betreff, $text);

?></body>
</html>
 
Dafür gibt es in HTML das input-hidden-Element:

HTML:
<input type="hidden" name="feldname" value="wert">

Du müsstest für jedes Feld ein solches Element anlegen, wie bei input-text-Feldern den Wert zuordnen und kannst somit den Wert an die nachfolgende Seite mit übertragen.

Die Frage ist aber auch, ob das ein sinnvoller Weg ist. Sobald so etwas im HTML-Code steht, kann es vom Nutzer manipuliert werden. Sicherer wäre es, wenn Du die Werte in der PHP-Session speicherst. Siehe z.B.:
How to Use PHP Sessions to Store Data (thesitewizard.com)

Moderation: Verschoben von HTML zu PHP.
 
Zurück
Oben