php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Anmeldeformular


 
kaeseblume
03-09-2015, 15:05 
 
Hallo ihr da draußen,

ich bin nicht wirklich ein Experte für php, habe aber von meinem Chef die tolle Aufgabe bekommen ein Anmeldeformular zu erstellen, welches die Informationen per E-Mail weitersendet.
Ich komme soweit ganz gut vorran und habe schon viele interessante bzw. neue Sachen über php gelernt.
Ich scheitere nur einfach jetzt an den select-Auswahlfenstern.
Der html-Code ist soweit klar.

<select name="auswahl[]" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>Nur beim php-code verzweifle ich. Ich habe es soweit geschaft, dass input und text Felder Ihre Informationen per E-Mail senden. Jedoch nicht die select-Auswahlfenster.

<?php
$fehler = "";
$name = $_POST['name'];
$vorname = $_POST['vorname'];
$titel = $_POST['titel'];
$straße = $_POST['straße'];
$hausnummer = $_POST['hausnummer'];
$home = $_POST['home'];
$ort = $_POST['ort'];
$plz = $_POST['plz'];
$mail = $_POST['mail'];
$telefon = $_POST['telefon'];
$fachausbildung = $_POST['fachausbildung'];
$uni = $_POST['uni'];
$text = $_POST['text'];


$auswahl = $_POST['auswahl'];

echo 'Ausgewählt wurden: ';
for($i=0;$i<count($auswahl);$i++)
{
echo $auswahl[$i];
}





if (empty($name)) {
$fehler .= "<li>Ihr Name fehlt</li>" ;
}
if (empty($vorname)) {
$fehler .= "<li>Ihr Vorname fehlt</li>" ;
}
if (empty($straße)) {
$fehler .= "<li>Ihre Straße fehlt</li>" ;
}
if (empty($hausnummer)) {
$fehler .= "<li>Ihre Hausnummer fehlt</li>" ;
}

if (empty($plz)) {
$fehler .= "<li>Ihre PLZ fehlt</li>" ;
}
if (empty($home)) {
$fehler .= "<li>Ihr Wohnort fehlt</li>" ;
}
if (empty($mail)) {
$fehler .= "<li>die Mailadresse fehlt</li>" ;
}
if (empty($telefon)) {
$fehler .= "<li>Ihre Telefonnumer fehlt</li>" ;
}
if (empty($fachausbildung)) {
$fehler .= "<li>Ihre Fachausbildung fehlt</li>" ;
}
if (empty($uni)) {
$fehler .= "<li>Ihr Universitätsabschluss fehlt</li>" ;
}
if (empty($text)) {
$fehler .= "<li>keine Nachricht eingetragen</li>" ;
}
if (empty($fehler)) {
if (get_magic_quotes_gpc()) {
$text = stripslashes($text);
}
$return = chr(13).chr(10);
$an = "unsere@e-mail.de" ;
$betreff = "Anmeldung" ;
$von = "From: Anmeldung.de" ;
$datum = "Datum: ".date("j.n.Y").$return;
$zeit = "Zeit: ".date("H:i").$return;
$ab1 = "Von: ".$name." <".$mail.">".$return;
$ab2 = "Vorname: ".$vorname." ".$return;
$ab3 = "Titel: ".$titel." ".$return;
$ab4 = "Straße: ".$straße." ".$return;
$ab5 = "Hausnummer: ".$hausnummer." ".$return;
$ab6 = "Telefon: ".$telefon." ".$return;
$ab7 = "Fachausbildung: ".$fachausbildung." ".$return;
$ab8 = "Universitätsabschluss: ".$uni." ".$return;
$ab9 = "Name: ".$name." ".$return;
$ab10 = "PLZ: ".$plz." ".$return;
$ab11 = "E-Mail: ".$mail." ".$return;
$ab12 = "Ort: ".$home." ".$return;
$trennen = "-----------------------------------------------".$return;
$nachricht = $datum.$zeit.$ab1.$trennen.$ab9.$ab2.$ab3.$ab4.$ab5.$ab10.$ab11.$ab12.$ab6.$ab7.$ab8.$text.$name.$au swahl;
mail($an,$betreff,$nachricht,$von);
}
?>
<html>
<head>
<title>Anmeldung-Formular</title>
</head>
<body>
<?php
if (empty($fehler)) {
$return = chr(13).chr(10);
$nachricht = strip_tags($nachricht);
$nachricht = htmlentities($nachricht);
$nachricht = str_replace($return,"<br>",$nachricht);
echo "<p>Ihre Nachricht wurde versendet.</p>" ;
echo "<p>$nachricht</p>" ;
} else {
echo "<p>Ihre Nachricht wurde nicht gesendet, weil</p>" ;
echo "<ul>$fehler</ul>" ;
}
?>
</body>
</html>Ihr seht ich bekomme nur ein echo der Information des Auswahlfeldes. Ich möchte, jedoch die Information senden. Was mache ich falsch bzw. wo finde ich Hinweise für einen php-code.

Ich danke euch für eure Unterstützung.
Gruß Kaesablume

 
Quetschi
03-09-2015, 15:23 
 
Na entweder du verkettest den String entweder in deiner bereits vorhandenen for()-schleife oder du verwendest sowas praktisches wie z.B. PHP: implode - Manual (http://php.net/manual/de/function.implode.php)

 
kaeseblume
03-09-2015, 15:36 
 
Hallo Quetschi,

erstmal vielen Dank für deine Antwort.
Nur wie gesagt, sind meine php-Fähigkeiten sehr beschränkt und ich kann mit deiner Antwort nur sehr wenig anfangen.

Der Wert wird mir doch schon angezeigt. Ich möchte doch nur noch, dass dieser per E-Mail gesendet wird.

Wie geht das?

Lass einen Blinden etwas sehen. :) Danke

 
Quetschi
03-09-2015, 15:40 
 
$ab13 = "Auswahl: ".implode(", ", $auswahl)." ".$return;

 
kaeseblume
03-09-2015, 15:48 
 
Vielen Dank!
Jetzt versuche ich es nur noch zu verstehen.

:danke:

 
Quetschi
03-09-2015, 15:49 
 
Dazu liest du einfach die von mir verlinkte Doku von implode()


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:08 Uhr.