Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

formmail met meerdere email adressen

None
3 antwoorden
  • Hallo Allemaal, Ik heb een formmail.php bestand om mijn invul formulier te verwerken. Het e-mail adres waar het naar toe gestuurd wordt staat in dit php bestand en kan dus niet in de code van de pagina gelezen worden (scheelt weer spam) het stukje code voor het formulier ziet er zo uit:[code:1:9ed6f13757]<form method="POST" enctype="multipart/form-data" action="formmail/formmail.php">
    <input type="hidden" name="recipient" value="MAIL01">
    <input type="hidden" name="mail_newline" value="3">
    <input type=hidden name="subject" value="Contact Formulier">
    <input type=hidden name="required" value="realname,email">
    <input type=hidden name="redirect" value="../bedankt.html">[/code:1:9ed6f13757]
    Dit is natuurlijk alleen het kopje, de value van de recipient staat nu op MAIL01, in het formmail.php bestand staat welk e-mail adres erbij hoort.
    In het php bestand kan ik meerdere e-mail adressen opgeven en de value van de recipient kan dan bv MAIL01,Mail02 worden waardoor het formilier naar de twee bijbehorende e-mail adressen verstuurd wordt, das mooi.
    Nou wil ik een keuzemenu met meerdere e-mail adressen zodat ik kan kiezen naar wie het formulier verstuurd wordt.
    Nou ben ik niet echt heel goed in php dus heb ik het een en ander geprobeerd maar kom er niet uit.
    Dit is wat ik tot nu toe gemaakt heb:
    [code:1:9ed6f13757]<?php
    error_reporting(E_ALL); //lelijke foutjes weergeven
    ?>
    <?php
    //start $config array
    $c = array();

    //arrays starten voor naam en emailadres
    $c['naam'] = array();
    $c['naar'] = array();

    //alle namen met bijbehorenden emailadressen daaronder
    $c['naam'][] = 'Info';
    $c['naar'][] = 'MAIL01';
    $c['naam'][] = 'Sales';
    $c['naar'][] = 'MAIL02';
    $c['naam'][] = 'Support';
    $c['naar'][] = 'MAIL03';

    //EINDE CONFIG\\
    ?>
    <p>U kunt ook via onderstaand contact formulier contact met ons opnemen.</p>
    <p>Velden met een <a class="klr">*</a> zijn verplicht.</p>
    <form method="POST" enctype="multipart/form-data" action="formmail/formmail.php">
    <input type="hidden" name="recipient" value="'.$c['naar'][$key].'">
    <input type="hidden" name="mail_newline" value="3">
    <input type=hidden name="subject" value="Contact Formulier">
    <input type=hidden name="required" value="realname,email">
    <input type=hidden name="redirect" value="../bedankt.html">

    <table border="1" width="470" cellspacing="0" cellpadding="3">
    <tr>
    <td>
    <table border="0" width="460" cellspacing="0" cellpadding="3">
    <tr>
    <td colspan="2" height="23"><b>Contact Formulier:</b></td>
    </tr>
    <tr>
    <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td width="200" height="23">&nbsp;</td>
    <td width="260"><input type="radio" value="Man" checked name="Geslacht"> Dhr.
    <input type="radio" name="Geslacht" value="Vrouw"> Mvr.</td>
    </tr>
    <tr>
    <td height="23">Naam:<a class="klr">*</a></td>
    <td ><input type="text" name="realname" size="43" maxlength="39"></td>
    </tr>
    <tr>
    <td height="23">E-mail Adres:<a class="klr">*</a></td>
    <td ><input type="text" name="email" size="43" maxlength="40"></td>
    </tr>
    <tr>
    <td height="23">Aan:<a class="klr">*</a></td>
    <td ><select size="1" name="naar">
    <option value="ontvanger">Ontvanger</option>

    <?php
    foreach($c['naar'] as $key => $value) //namen van ontvangers ophalem
    {
    echo '<option value="'.$value.'">'.$c['naam'][$key].'</option>'; //en ze in een dropdownbox zetten
    }
    ?></select></td>
    </tr>
    </table>
    <table border="0" width="460" cellspacing="0" cellpadding="3">
    <tr>
    <td width="460" height="23"><b>Vraag / Opmerking:</b></td>
    </tr>
    <tr>
    <td><textarea rows="7" name="Vraag / Opmerking" cols="54"></textarea></td>
    </tr>
    <tr>
    <td>Typ a.u.b. de volgende <a href="http://nl.wikipedia.org/wiki/Captcha"
    title="Een captcha is een code die spam voorkomt door spamrobots."
    style="color: #EE0000; cursor: help;">captcha</a> code over:<br>
    <img src="spaf/img.php"><br>
    <input type="text" name="code"></td>
    </tr>
    <tr>
    <td><p class="cntr"><input type="submit" value="Versturen">
    <input type="reset" value="Wissen"></p></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </form>[/code:1:9ed6f13757]
    Ik krijg wel een dropdown boxje en ik kan wat selecteren (wow) maar op deze manier snapt het php progje de value van de recipient niet.
    Kan iemand mij een duwtje in de goede richting geven want volgens mij moet het anders maar hoe…..?
    Alvast bedankt!
  • waarom eerst de stap van 'naam' naar 'naar' en dan nog eens van 'naar' naar werkelijk emailadres?
    Ik denk aan een volgende soort oplossing:
    [code:1:e12c636ccd]
    $naar = array();
    $naar['Info'] = 'info@you.com';
    $naar['Sales'] = 'sales@you.com';

    echo <select name="naar">
    foreach($naar as $name => $email) {
    echo '<option value="'.$name.'">'.$name.'</option>';
    }

    En in je formmail.php:
    $to_address = $naar[$_POST['naar']];
    [/code:1:e12c636ccd]
    Dan moet je natuurlijk wel die vertaling van namen naar emailadressen beschikbaar hebben, zet die ergens in je config, gebruik global, geef m door, net wat je wilt en hoe je aan het programmeren bent.

    Wil je toch die extra laag
    [code:1:e12c636ccd]
    $naar['MAIL0'] = 'Info';
    $naar['MAIL1'] = 'Sales';

    foreach($naar as $code => $name {
    echo '<option value="'.$code.'">'.$name.'</option>';
    }

    en in je formmail:
    $email['MAIL0'] = 'info@';
    $email['MAIL1'] = 'sales@';
    $to_address = $email[$_POST['naar']];[/code:1:e12c636ccd]
  • Hoi Marientje, Bedankt voor je reactie, ik ga er mee stoeien, je hoor vast nog el wat.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.