Dynamischer Kontaktformular..

madirfan

Erfahrenes Mitglied
hallo,

ich habe diesen kontakformular:

PHP:
<!-- form -->
						
						<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
	while(list($feld,$wert)=each($_POST)){
		// übermittelte Inhalte "entschärfen"
		$wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "",$wert);
		$$feld=$wert;
		// die übermittelten Variablen werden zum "Text der Email" zusammengefasst
		if($feld!="abschicken") $mailnachricht.=ucfirst($feld).": $wert\n";
	}
	$mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s");
	// Überprüfen ob alle Pflichtfelder gefüllt sind
	empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false;
	empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false;
	empty($gjahr) ? $err[] = "<p>- Bitte den Geburtsjahr angeben.</p>" : false;
	empty($strasse) ? $err[] = "<p>- Bitte den Geburtsjahr angeben.</p>" : false;
	empty($wertung) ? $err[] = "<p>- Bitte den Geburtsjahr angeben.</p>" : false;
	empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false;
	empty($einverstanden) ? $err[] = "<p>- Sind Sie einverstanden?.</p>" : false;
	// empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false;
	// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
	if(!empty($err)) {
		echo "<p>Bitte korrigieren Sie folgende Fehler:</p>";
		foreach($err as $fehler){
			echo $fehler;
		} ?>
		<form id="contactForm" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
		
<fieldset>
<div>	
<input class="form-poshytip" type="text" name="nachname" value="" title="Ihr Name"/>
<label>* Name</label>
</div>

<div>
<input class="form-poshytip" type="text" name="vorname" value="" title="Ihr Vorname" />
<label>* Vorname</label>
</div>

<div>
<input class="form-poshytip" type="text" name="gjahr" value="" title="Ihr Geburtsjahr" />
<label>* Geburtsjahr</label>
</div>

<div>
<input class="form-poshytip" type="text" name="firma" value="" title="Ihre Firma" />
<label>Firma</label>
</div>

<div>
<input class="form-poshytip" type="text" name="strasse" value="" title="Ihr Wohnort" />
<label>Wohnort</label>
</div>

<div>
<input class="form-poshytip" type="text" name="telefon" value="" title="Ihre Telefonnummer" />
<label>Telefon</label>
</div>

<div>
<input class="form-poshytip" type="text" name="email" value="" title="Ihre E-Mail" />
<label>E-Mail</label>
</div>
<br>
<div>
<select name='wertung'  ><option value="" >Wählen</option>	<option value="10kmla" >10 km Lauf</option><option value="5kmwal" >5 km Walking</option><option value="5kmnw" >5 km Nordic-W.</option><option value="5kmwan" >5 km Wandern</option>	</select>
<label>*Wertung</label>
</div>
<br>
<div>
<select name='CharityWalkOrt' >
<option value="" >Wählen</option>
<option value="Gernsheim" >Gernsheim</option>
<option value="Hattersheim" >Hattersheim</option>
<option value="Neuss" >Neuss</option>
<option value="Hamburg " >Hamburg </option>	
<option value="Boeblingen" >Böblingen</option>
<option value="Marburg" >Marburg</option>
<option value="Mannheim " >Mannheim </option>
</select>
<label>*Charity-Walk Ort wählen</label>
</div>
<br>
<div>
<input class="form-poshytip" type="text" name="verein" value="" title="Mitgliedschaft im Verein" />
<label>Mitgliedschaft im Verein</label>
</div>

<br>
<div>
<select name='einverstanden'  >
<option value="" >Wählen</option>	<option value="einverstandenja" >JA</option><option value="einverstandennein" >NEIN</option></select>
<label>*Meine Daten (Name, Wertung etc) online gestellt?</label>
</div>
<br>
<div>
<select name='sponsort'  >	
<option value="" >Wählen</option>
<option value="sponsortja" >JA</option><option value="sponsortnein" >NEIN</option></select>
<label>Haben sie einen Sponsor? </label>
</div>
<br>
<div>
<input class="form-poshytip" type="text" name="sponsorname" value="" title="Name des Sponsors" />
<label>Name des Sponsors</label>
</div>

<div>
<input class="form-poshytip" type="text" name="sponsorgeld" value="" title="Sponsorengeld in €" />
<label>Sponsorengeld in €</label>
</div>

<div>
<select name='sponsorgeldquittung' >	
<option value="" >Wählen</option>
<option value="sponsorgeldquittungja" >JA</option><option value="sponsorgeldquittungnein" >NEIN</option></select>
<label>Wünschen sie eine Spendenquittung</label>
</div>
<br>
<div>
<textarea rows="12"  class="form-poshytip"  name="quittungadresse" title="Postadresse (Nur ausfüllen, falls sie eine Spendenquittung wünschen) "></textarea></select></td></tr>
</div>


<p> <input type="submit" name="abschicken" value="Formular absenden"  /></p>
</fieldset>
		</form>
		<p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
	} else {
		$mailbetreff="Charity Walk Anmeldung";
		// HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN******       
		echo (mail("info@info.de", $mailbetreff, $mailnachricht, "From: $email")) ? "<p>Vielen Dank für Ihre eMail!</p>": "<p>Ein Fehler ist aufgetreten!</p>";
	}
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
		<form id="contactForm" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<fieldset>
<div>	
<input class="form-poshytip" type="text" name="nachname" value="" title="Ihr Name"/>
<label>* Name</label>
</div>

<div>
<input class="form-poshytip" type="text" name="vorname" value="" title="Ihr Vorname" />
<label>* Vorname</label>
</div>

<div>
<input class="form-poshytip" type="text" name="gjahr" value="" title="Ihr Geburtsjahr" />
<label>* Geburtsjahr</label>
</div>

<div>
<input class="form-poshytip" type="text" name="firma" value="" title="Ihre Firma" />
<label>Firma</label>
</div>

<div>
<input class="form-poshytip" type="text" name="strasse" value="" title="Ihr Wohnort" />
<label>Wohnort</label>
</div>

<div>
<input class="form-poshytip" type="text" name="telefon" value="" title="Ihre Telefonnummer" />
<label>Telefon</label>
</div>

<div>
<input class="form-poshytip" type="text" name="email" value="" title="Ihre E-Mail" />
<label>E-Mail</label>
</div>
<br>
<div>
<select name='wertung'  ><option value="" >Wählen</option>	<option value="10kmla" >10 km Lauf</option><option value="5kmwal" >5 km Walking</option><option value="5kmnw" >5 km Nordic-W.</option><option value="5kmwan" >5 km Wandern</option>	</select>
<label>*Wertung</label>
</div>
<br>
<div>
<select name='CharityWalkOrt' >
<option value="" >Wählen</option>
<option value="Gernsheim" >Gernsheim</option>
<option value="Hattersheim" >Hattersheim</option>
<option value="Neuss" >Neuss</option>
<option value="Hamburg " >Hamburg </option>	
<option value="Boeblingen" >Böblingen</option>
<option value="Marburg" >Marburg</option>
<option value="Mannheim " >Mannheim </option>
</select>
<label>*Charity-Walk Ort wählen</label>
</div>
<br>
<div>
<input class="form-poshytip" type="text" name="verein" value="" title="Mitgliedschaft im Verein" />
<label>Mitgliedschaft im Verein</label>
</div>

<br>
<div>
<select name='einverstanden'  >
<option value="" >Wählen</option>	<option value="einverstandenja" >JA</option><option value="einverstandennein" >NEIN</option></select>
<label>*Meine Daten (Name, Wertung etc) online gestellt?</label>
</div>
<br>
<div>
<select name='sponsort'  >	
<option value="" >Wählen</option>
<option value="sponsortja" >JA</option><option value="sponsortnein" >NEIN</option></select>
<label>Haben sie einen Sponsor? </label>
</div>
<br>
<div>
<input class="form-poshytip" type="text" name="sponsorname" value="" title="Name des Sponsors" />
<label>Name des Sponsors</label>
</div>

<div>
<input class="form-poshytip" type="text" name="sponsorgeld" value="" title="Sponsorengeld in €" />
<label>Sponsorengeld in €</label>
</div>

<div>
<select name='sponsorgeldquittung' >	
<option value="" >Wählen</option>
<option value="sponsorgeldquittungja" >JA</option><option value="sponsorgeldquittungnein" >NEIN</option></select>
<label>Wünschen sie eine Spendenquittung</label>
</div>
<br>
<div>
<textarea rows="12"  class="form-poshytip"  name="quittungadresse" title="Postadresse (Nur ausfüllen, falls sie eine Spendenquittung wünschen) "></textarea></select></td></tr>
</div>


<p> <input type="submit" name="abschicken" value="Formular absenden"  /></p>
</fieldset>

		</form>
		<p>*Pflichtfelder</p>
<?php
}
?>	        	
					
						
						<!-- ENDS form -->

Im <select name='CharityWalkOrt' > habe ich viele Optionen.

Meine frage ist, ich möchte gerne mein Formular so bauen, dass wenn jemand bei <select name='CharityWalkOrt' >
beispiel "Hattersheim" aussucht, dann sollte info@info.de als Mail nehen..
Selektiere ich aber "Marburg" soll eine ander Email genommen werden..
also fuer jede Stadt eine andere Email..

kann mir jemand da einen ansatz geben, wie ich das machen kann?
 
Wenn der Ort für dich nicht relevant ist, dann trage bei Value jeweils die entsprechende Email-Adresse ein.

Wenn der Ort selber auch verwendet wird, dann könntest du dir ein enstsprechendes Array erstellen über das du dann die passende Email-Adresse ermitteln kannst.

PHP:
<?php
$mail = array("Gernsheim" => "gernsheim@mail.de", "Hattersheim" => "hattersheim@mail.de", "Neuss" => "neuss@mail.de");

$auswahl = "Neuss";

echo $mail[$auswahl];

echo "<br /><br />";

$auswahl = "Hattersheim";

echo $mail[$auswahl];
?>

Die Variable $auswahl musst du dann durch den Wert deiner Liste ersetzen.
 
Das Beispiel habe ich dir oben doch schon gemacht.

Im Beispiel wird zuerst "Neuss" ausgewählt und bei der ersten echo-Anweisung die Email-Adresse "neuss@mail.de" ausgegeben. Dann wird "Hattersheim" ausgewählt und die dafür gültige Email-Adresse angezeigt.

NACHTRAG: Dieses Beispiel sollte klar machen wie es funktioniert:

HTML:
<form name="form1" action="unbenannt.php" method="post">
<select name='CharityWalkOrt' >
	<option value="" >Wählen</option>
	<option value="Gernsheim" >Gernsheim</option>
	<option value="Hattersheim" >Hattersheim</option>
	<option value="Neuss" >Neuss</option>
	<option value="Hamburg" >Hamburg </option>
	<option value="Boeblingen" >Böblingen</option>
	<option value="Marburg" >Marburg</option>
	<option value="Mannheim" >Mannheim </option>
</select>
<br />
<input type="submit" name="sub" value="Save" />
</form>

PHP:
<?php

$mail = array(
	"Gernsheim" => "gernsheim@mail.de",
	"Hattersheim" => "hattersheim@mail.de",
	"Neuss" => "neuss@mail.de",
	"Hamburg" => "hamburg@mail.de",
	"Boeblingen" => "boeblingen@mail.de",
	"Marburg" => "marburg@mail.de",
	"Mannheim" => "mannheim@mail.de"
	);

if (isset($_POST["sub"])) {
	if (array_key_exists($_POST["CharityWalkOrt"], $mail)) {
    	$to = $mail[$_POST["CharityWalkOrt"]];
	} else {
		$to = "info@mail.de";
	}
	echo "aktuelle Auswahl : " .$_POST['CharityWalkOrt'];
	echo "<br />";
	echo "Email : " .$to;
}
?>
 
Zuletzt bearbeitet:
Zurück