Formulier naar verschillende e-mailadressen sturen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ami Dok

Ami Dok

25/09/2010 01:20:46
Quote Anchor link
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.
Gewijzigd op 25/09/2010 01:22:02 door Ami Dok
 
PHP hulp

PHP hulp

21/11/2024 23:19:36
 
Karizma Yusuf

Karizma Yusuf

25/09/2010 02:33:22
Quote Anchor link
ik denk dat zoiets wel moet werken voor jou
en dan je email verzend script

Quote:
<select name="gemeente">
<option value="a">A</option>
<option value="b">B</option>
</select>

Quote:
if( $_POST['gemeente'] == "a")
$email = "[email protected]";
if( $_POST['gemeente'] == "b")
$email = "[email protected]";
Gewijzigd op 25/09/2010 02:42:35 door Karizma Yusuf
 
Ami Dok

Ami Dok

25/09/2010 13:50:18
Quote Anchor link
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!!
 
B a s
Beheerder

B a s

25/09/2010 14:32:29
Quote Anchor link
Wat netter is, is een array maken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$email_array
['a'] = '[email protected]';
$email_array['b'] = '[email protected]';

if (!empty($_POST['gemeente']) && array_key_exists($_POST['gemeente'], $email_array))
{

   $email = $email_array[$_POST['gemeente']];
}

?>
 
Noppes Homeland

Noppes Homeland

25/09/2010 14:41:43
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?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!
Gewijzigd op 25/09/2010 14:45:30 door Noppes Homeland
 
Nicoow Unknown

Nicoow Unknown

25/09/2010 14:55:37
Quote Anchor link
@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.
 
Noppes Homeland

Noppes Homeland

25/09/2010 15:00:12
Quote Anchor link
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
Gewijzigd op 25/09/2010 15:02:51 door Noppes Homeland
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.