Bekomme es nicht hin ... Emailformular auslesen mit php

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

Frischling

Neues Mitglied
21 Februar 2019
1
0
1
52
Hallo,
ich bin brandneu, sowohl im Forum hier, als auch in php :cool:

Somit möchte ich erst einmal alle herzlich grüssen und vorab mich für die Geduld und das Verständnis für die vermutlich total profanen Frischlingsfragen bedanken im voraus.

Ich hoffe jemand kann mir schnell weiterhelfen, mein Problem ist folgendes:

Ich habe ein Mailformular als HTML mit mehreren Dropdownboxen (Einfachauswahl) und einigen Textfeldern.

Das Formular wird dann mittels post an absenden.php übergeben.

Absenden php muss natürlich nun die Listen udn die Felder auslesen, für die Felder wirds einfach sein, aber die Listen, dazu muss man ja nen Array haben.

Ich hab schon gegoogelt und gelesen usw, aber irgendwie steht immer überall alles irgendwie anders da.

Also mein Quelltext für html sieht so aus:

<form action="absenden.php" method="post">


<div class="TableGenerator" >
<div style="text-align:center;">

<div style="text-align:center; margin:auto;">
<table align=center>



<tr align=center>
<h3> <label>wissenschaftlicher Name</h3>
<input type="text" name"wissenschaftlicher Name">
</label>
</tr>


<tr align=center>
<h3> <label>Trivialname</h3>
<input type="text" name"Trivialname">
</label>
</tr>



<tr align=center>
<td>
<h3><label>Ordnung <br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Ordnung" size="2">
<option value="Reptilien">Reptilien</option>
<option value="Amphibien">Amphibien</option>
</select>
</label>
</td>


<td>
<h3> <label>Familie<br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Familie" size="6" >
<option value="Echsen">Echsen</option>
<option value="Schlangen">Schlangen </option>
<option value="Schildkroeten">Schildkr&ouml;ten</option>
<option value="Schwanzlurche">Schwanzlurche</option>
<option value="Froschlurche">Froschlurche</option>
<option value="Panzerechsen">Panzerechsen</option>
</select>
</label>
</td>


<td>
<h3> <label>Gattung<br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Gattung" size="6">
<option value="Geckos">Geckos</option>
<option value="Skinke">Skinke</option>
<option value="Eidechsen">Eidechsen</option>
<option value="Leguane">Leguane</option>
<option value="Agamen">Agamen</option>
<option value="Warane">Warane</option>
/select>
</label>
</td>
</tr>


<tr align=center>
<td>
<h3><label>Geschlecht<br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Geschlecht" size="2">
<option value="weiblich">weiblich</option>
<option value="maennlich">m&auml;nnlich</option>
</select>
</label>
</td>

<td>
<h3><label>Herkunft<br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Herkunft" size="4">
<option value="Eigene Nachzucht">Eigene Nachzucht</option>
<option value="Fremdnachzucht">Fremdnachzucht</option>
<option value="Farmnachzucht">Farmnachzucht</option>
<option value="Wildfang">Wildfang</option>
</select>
</label>
</td>


<td>
<h3> <label>Verbleib<br>Bitte w&auml;hlen Sie aus:</h3>
<select name="Verbleib" size="3">
<option value="Noch im Bestand">Noch im Bestand</option>
<option value="Verstorben">Verstorben</option>
<option value="Abgegeben">Abgegeben</option>
</select>
</label>
</td>
</tr>

<tr align=center>
<td>
<h3> <label>Verstorben wann?<br></h3>
<input type="text" name"verstorben">
</label>
</td>


<td>
<h3> <label>Abgegeben wann?<br></h3>
<input type="text" name"abgegeben wann" >
</label>
</td>


<td>
<h3> <label>Alter?<br></h3>
<input type="text" name"Alter">
</label>
</td>


<td>
<h3> <label>Bemerkungen</h3>
<input type="textarea" name"Bemerkungen" maxlength="200">
</label>
</td>
</tr>
</table>
<p>
<br>
<button type="reset">Eingaben zur&uuml;cksetzen</button>
<button type="submit">Eingaben absenden</button>
</form>


Mein Quelltext vom php script (noch unfertig, da die Textfelder noch fehlen), sieht so aus bisher:

<?php

$empfaenger = "xx@yy.de"; // Mailadresse
$betreff = "Daten Alterserfassung";

$absender = "xx@yy.de";
$antwortan = "antworten_an xx@yy.de";

mail( $empfaenger,
$betreff,
"From: $absender\nReply-To: $antwortan");

echo "Mail wurde gesendet!";


array (
'Ordnung' => array (
0 => 'Reptilien' ,
1 => 'Amphibien' ,
)
)

array (
'Familie' => array (
0 => 'Echsen' ,
1 => 'Schlangen' ,
2 => 'Schildkroeten' ,
3 => 'Schwanzlurche' ,
4 => 'Froschlurche' ,
5 => 'Panzerechsen' ,
)
)


array (
'Gattung' => array (
0 => 'Geckos' ,
1 => 'Skinke' ,
2 => 'Eidechsen' ,
3 => 'Leguane' ,
4 => 'Agamen' ,
5 => 'Warane' ,
)
)


array (
'Geschlecht' => array (
0 => 'weiblich' ,
1 => 'maennlich' ,
)
)


array (
'Herkunft' => array (
0 => 'Eigene Nachzucht' ,
1 => 'Fremdnachzucht' ,
2 => 'Farmnachzucht' ,
3 => 'Wildfang' ,
)
)


array (
'Verbleib' => array (
0 => 'Noch im Bestand' ,
1 => 'Verstorben' ,
2 => 'Abgegeben' ,
)
)

?>

Was fehlt jetzt bei den Arrays? ist das überhaupt so richtig?

LG Frischling
 

Sailor

Aktives Mitglied
14 Juli 2017
354
39
28
Zunächst einmal nutzt du in deinem (HTML) Code veraltete Anweisungen, die im HTML5 nicht mehr unterstützt werden!
Das '<tr align=center> ' solltest du besser mit CSS machen...<tr style="text-align: center:"> ... oder noch besser, den <tr>'s eine Class geben und dann in einem Stylesheet die Formate für die Klasse definieren.
Zu deiner Frage:
Es wird von den Optionen in deinem Dropdown immer nur der ausgewählte Wert übermittelt... nicht das Array.
Durch die Abfrage des Wertes von $_POST['Ordnung'] bekommst du also nur exakt den Wert, den der Nutzer ausgewählt hat.
Kannst du gut testen, indem du mal auf der 'Empfängerseite' dir den Inhalt des $_POST Arrays ausgeben lässt:
PHP:
echo "<pre><br>\n";
if(isset($_POST))
  {print_r ($_POST);}
echo "</pre><br>\n";
 

Andal91

Neues Mitglied
5 März 2019
7
1
3
27
Und da du im option Tag das gleiche stehen hast wie in der Value, kannst du die auch weglassen.

Ich würde meine Dateien auch mit utf8 codieren, dann kannst du dir die HTML Version &uuml; etc. auch sparen.

Dann ist alles gleich nochmal kürzer :-)

Ich würde auch allgemein auf Tabellen verzichten und mit lieber mit Listen, Flex und oder grid arbeiten.
 
Werbung: