Formulier naar verschillende e-mailadressen sturen.
Door
Ami Dok
op 25-09-2010 01:20
gewijzigd op 25-09-2010 01:22
1.868 views
Goedenavond,
Wie kan mij helpen met het volgende probleem?
Ik heb in PHP reserveringsformulieren gemaakt waar verschillende gegevens ingevuld kunnen worden.
Zo is er o.a. een vervolgkeuzelijst waarin men aan moet geven in welke gemeente men woont.
Wat ik nu wil is dat als je in die keuzelijst aangeeft dat je in gemeente A. woont, het formulier verstuurd wordt naar e-mailadres A., woon je in gemeente B. dan naar e-mailadres B. enz. enz.
Volgens mij moet zoiets toch kunnen met else-if, maar ik kom er gewoon niet uit.
Als iemand mij hiermee verder op weg kan helpen hoor ik het graag.
Ik hoef vast niet te vertellen dat ik een (enthousiaste) beginneling ben.
Al vast hartelijk dank voor de moeite.
Yusuf, geweldig. Dit werkt.
Zelf was ik al aardig op weg maar vergat dus $_POST te gebruiken.
Dom van me! Ach ja ... beginneling hè.
Heel erg bedankt in elk geval!!
empty is een zinloze en verneukeratieve functie, dus die hoort totaal niet in je code voor te komen!!
en als je constructies hebt met in_array / array_key_exists dan heeft het ook geen zin om ook maar te kijken naar de waarde
dus dan wordt het:
<?php
if ( isset($_POST['gemeente'])
&& array_key_exists($_POST['gemeente'],$email_array)) {
}
// of nog simpeler als het om index controle gaat
if ( isset($_POST['gemeente'])
&& isset($email_array[$_POST['gemeente']])) {
}
?>
en uiteraard maak je geen overigebode variabelen aan, het email adres staat immer al in de array opgeslagen!
@Noppes,
Een variabel kan gezet zijn, en dan nog leeg, dit kan makkelijk gebeuren met POST variablen, dus empty is waarschijnlijk een beter functie dan isset, in dit geval.
Nu moet ik zeggen dat == "" sneller is als empty, maar dat maakt voor nu even niet uit.
Les 1: controleer altijd of het form de velden bevat welke jij verwacht, dus kom je in principe uit op de isset
Les 2: als de $_POST bestaat en deze leeg is en je gaat de index key of waarde controleren met met in_array en of array_key_exists dan is het overbodig om iets in de trant te doen van trim($_POST[]) == ''
een $_POST met een spatie zal in veel gevallen toch al met die functies false opleveren of een $_POST zonder waarde uiteraard