Formulier versturen naar vestiging naar keuze

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels

Niels

20/05/2009 10:22:00
Quote Anchor link
* ik ben geen programmeur, ik moet uit noodzaak aanpassingen in php maken. Dus niet te hard voor me zijn als ik domme vragen stel ;-) *

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
 
PHP hulp

PHP hulp

29/11/2024 13:44:23
 

20/05/2009 10:33:00
Quote Anchor link
In het html form doe je een dropdown met bijvoorbeeld de vestigingsnaam als value. Dan kan je in de php bijvoorbeeld uit een array het email adres pakken door die vestigingsnaam als key te gebruiken.
Of met een switch kan je ook gaan werken.
 
Afra ca

Afra ca

20/05/2009 11:24:00
Quote Anchor link
Als je verder niks doet met de vestiging, maak je inderdaad een dropdown menu, en geef je als value het bijbehorende email adres mee. De gebruiker ziet een vestigingsnaam, het script ziet een emailadres:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
 

20/05/2009 11:27:00
Quote Anchor link
Afra, dat lijkt me niet slim, het wordt afgeraden om zo open en bloot een email adres op een pagina te zetten. Dus ook niet in de html.
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.
 
Niels

Niels

20/05/2009 11:29:00
Quote Anchor link
Dit is de code van het dropdown menu waar je de keuze maakt voor de vestiging:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>

------------------------------------------------------------
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
 

20/05/2009 11:37:00
Quote Anchor link
Wat is $email?
En je kunt toch gewoon dit doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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'];
}

?>

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.
 



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.