Formulier versturen naar vestiging naar keuze
Ik moet een formulier van een autobedrijf aanpassen. In dit formulier kun je een vestiging selecteren waar je een afspraak kunt maken. Momenteel word de e-mail altijd naar 1 adres gestuurd, maar ze willen graag dat het naar het adres van de betreffende vestiging wordt verstuurd.
Het gaat nu via de code:
$cfg['email'] = "[email protected]";
Nu moet het dus zo zijn dat als ik vestiging A selecteer, dan hij e-mail adres A pakt. Dan maak ik een extra $cfg voor vestiging B, zoiets als:
$cfg['emailA'] = "[email protected]";
$cfg['emailB'] = "[email protected]"; (etc)
Hoe kan ik nu in mijn code bepalen dat: if $cfg=A, action=emailA?
Gewijzigd op 01/01/1970 01:00:00 door Niels
Of met een switch kan je ook gaan werken.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<select name="vestiging">
<option value="[email protected]">vestiging_a</option>
<option value="[email protected]">vestiging_b2</option>
<option value="[email protected]">vestiging_c</option>
<option value="[email protected]">vestiging_d</option>
</select>
<option value="[email protected]">vestiging_a</option>
<option value="[email protected]">vestiging_b2</option>
<option value="[email protected]">vestiging_c</option>
<option value="[email protected]">vestiging_d</option>
</select>
Ook kan je als je d'r geen beveiliging op zet de html gaan aanpassen en die email adressen veranderen naar andere dingen, kan je ook lekker spam gaan sturen.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<select name="vestiging" id="vestiging" <?php if(isset($fout['input']['vestiging'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($vestiging)) { echo stripslashes($vestiging); } ?>">
<option value="Zaltbommel">Zaltbommel</option>
<option value="Oss">Oss</option>
<option value="Veghel">Veghel</option>
<option value="Gorinchem">Gorinchem</option>
</select>
<option value="Zaltbommel">Zaltbommel</option>
<option value="Oss">Oss</option>
<option value="Veghel">Veghel</option>
<option value="Gorinchem">Gorinchem</option>
</select>
------------------------------------------------------------
Hier wordt het e-mail adres opgehaald waarnaar het formulier nu verzonden word:
$cfg['email'] = "[email protected]";
------------------------------------------------------------
Deze code bepaald de verzending:
if(mail($cfg['email'], "Onderhoudsbeurt auto met kenteken ".$kenteken, $bericht, $headers))
{
if(isset($_POST['stuurkopie']))
{
$headers = "From: \"xxx Autobedrijven\" <".$email.">\r\n";
$headers .= "Reply-To: \"".$achternaam."\" <".$email.">\n";
$headers .= "Return-Path: Mail-Error <".$email.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
mail($email, "Onderhoudsbeurt auto met kenteken ".$kenteken, $bericht, $headers);
}
unset($achternaam, $email, $bericht);
setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
echo "
<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 12px;\">
Uw bericht is succesvol verzonden.
</p>
";
}
else
{
echo "Er is een fout opgetreden bij het verzenden van de email";
}
------------------------------------------------------------
Zoals je ziet zit de code email ook in de From en Reply-to verwerkt, wat het extra lastig maakt.
Dit script is door een ex-collega gemaakt dus de druk rust nu op mij om dit aan te passen, ik hoop dat ik zo de goede informatie aanlever (het hele script is veel te groot om te posten)
Gewijzigd op 01/01/1970 01:00:00 door Niels
En je kunt toch gewoon dit doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$emailadressen = array("Zaltbommel" => "[email protected]", "Oss" => "[email protected]", "Standaart" => "[email protected]");
if (array_key_exists($_POST['vestiging'], $emailadressen)) {
$toadres = $emailadressen[$_POST['vestiging']];
}
else
{
$toadres = $emailadressen['Standaart'];
}
?>
$emailadressen = array("Zaltbommel" => "[email protected]", "Oss" => "[email protected]", "Standaart" => "[email protected]");
if (array_key_exists($_POST['vestiging'], $emailadressen)) {
$toadres = $emailadressen[$_POST['vestiging']];
}
else
{
$toadres = $emailadressen['Standaart'];
}
?>
Verder houd ik persoonlijk niet zo van mail omdat er wel eens problemen mee kunnen ontstaan met de headers en mail injections. Swiftmailer gebruik ik veel liever.