login  Naam:   Wachtwoord: 
Registreer je!
 Forum

emailformulier

Offline wimd - 24/09/2015 09:53 (laatste wijziging 24/09/2015 09:54)
Avatar van wimdNieuw lid Vraagje ivm een emailformulier

Ik heb een emailformulier op mijn site waarvan het de bedoeling is dat je dit kan invullen en je gewoon op de "submit"-knop moet klikken om het bericht te versturen.

Wat er nu gebeurd is dat als ik op de "submit"-knop klik, mijn e-mailprogramma opent, waar ik de ingevulde gegevens zie waarna ik daar nog eens op verzenden moet klikken. Wat dus niet de bedoeling is...

Heeft iemand een oplossing om de pop-up van mijn e-mailprogramma te laten verdwijnen?

Thx

4 antwoorden

Gesponsorde links
Offline Jointjeff - 24/09/2015 10:03
Avatar van Jointjeff HTML interesse Heb je misschien de code van je formulier voor ons?

Met puur alleen HTML kun je trouwens geen mail versturen. Dit kun je bijvoorbeeld doen d.m.v. PHP.
Offline wimd - 24/09/2015 11:06 (laatste wijziging 24/09/2015 14:21)
Avatar van wimd Nieuw lid Hieronder de div waar mijn emailform in vervat zit:

  1. <div id="contact">
  2. <hr noshade size=1 width="99%">
  3. <p class="sansserif">Vul onderstaand contactformulier in en ik neem zo snel mogelijk contact met u op.</p>
  4. <table align="center" style="font-family: arial, helvetica, sans-serif; font-size:12px">
  5. <tr>
  6. <td width="300px" valign="top">
  7.  
  8. <form name="mailformulier" method="post" action="mailto:xxxxxxxxxx@hotmail.com?subject=mailformulier" enctype="text/plain">
  9.  
  10.  
  11. <input type="text" name="firstname" value="uw voornaam (verplicht)" size="45" required></br>
  12. <input type="text" name="lastname" value="uw familienaam (verplicht)" size="45" required></br>
  13. <input type="email" name="email" value="uw e-mail adres (verplicht)" size="45" required></br></br>
  14. </td>
  15. <td>
  16.  
  17.  
  18.  
  19. <textarea rows="10" cols="45" name="commentorder">stel uw vraag...</textarea></br>
  20.  
  21. <input type="submit" value="Submit">
  22. </form>
  23. </td>
  24. </tr>
  25. </table>
  26. </div>


mod edit: codetags
Offline Jointjeff - 24/09/2015 11:59 (laatste wijziging 24/09/2015 12:01)
Avatar van Jointjeff HTML interesse
  1. mailto:xxxxxxxxxx@hotmail.com?subject=mailformulier


Dat stuk zorgt ervoor dat je emailprogramma geopend wordt. Bij het direct versturen zou je hier bijvoorbeeld versturen.php o.i.d. van kunnen maken.

In versturen.php verzend je vervolgens de mail. Een heel simpel voorbeeld:

  1. <?php
  2. if ( isset ( $_POST ) ) {
  3.  
  4. // Je zal zelf nog moeten denken aan het valideren / filteren van input.
  5. $first_name = $_POST['first_name'];
  6. $last_name = $_POST['last_name'];
  7. $email = $_POST['email'];
  8.  
  9. if ( empty( $first_name ) || empty( $last_name ) || empty( $email ) ) {
  10. echo 'Een of meerdere verplichte velden zijn leeg.';
  11.  
  12. } else {
  13. $bericht = $first_name . ' ' . $last_name . ' (' . $email . ') heeft het formulier ingevuld.';
  14.  
  15. if ( mail( 'jouw@emailadres.nl', 'onderwerp van je mail', $bericht ) ) {
  16. echo 'Bedankt voor je bericht!';
  17. } else {
  18. echo 'Verzenden is mislukt.';
  19. }
  20.  
  21. }
  22.  
  23. }


Dit is enkel een voorbeeld: kan veel beter, netter, etc. (FangorN disclaimer )
Offline Thomas - 24/09/2015 14:37 (laatste wijziging 24/09/2015 14:49)
Avatar van Thomas Moderator In soortgelijke bewoordingen als die van JointJeff:

HTML is zelf niet in staat om mail te versturen, HTML is een opmaaktaal (Markup Language).

Met de actie "mailto:" instrueer je de browser waarmee je dit formulier verstuurt om een geschikt programma te zoeken om deze taak -het versturen van mail- uit te voeren.

Ik denk ook dat het voor dit geval bewust zo gemaakt is dat er een handmatige stap (het versturen van het e-mailbericht zelf) tussen zit, anders zou een website geautomatiseerd spam kunnen versturen via jouw e-mailprogramma. Daarom denk ik ook dat het niet -in deze opzet- mogelijk is om dit proces te automatiseren door de popup achterwege te laten, dit is namelijk bewust niet-automatiseerbaar.

Mogelijk is er wel een alternatief: misschien is de website zelf in staat om mail te versturen. Tegenwoordig zijn een heleboel hostingpakketten (ook de low-budget varianten) voorzien van allerlei extra toeters en bellen waaronder zogenaamde scriptingtalen. Deze scriptingtalen geven je toegang tot veel meer functionaliteit dan dat HTML standaard biedt. Denk bijvoorbeeld aan:
- een ledenadministratie
- een forum
- het plaatsen van foto's
- et cetera

De code die JointJeff hier boven plaatste is een fragment van de populaire scriptingtaal PHP. Deze code heeft een hele eigen vorm/opbouw (syntax). Indien jouw website PHP ondersteunt is het zeer goed mogelijk dat je via deze weg e-mail kunt versturen.

De eerste vraag is dan ook eigenlijk: wat voor mogelijkheden biedt jouw hostingpakket? Als deze geen enkele scriptingtaal ondersteunt (en je dus in feite enkel HTML kunt gebruiken) dan wordt het misschien lastig om "direct" e-mail te versturen zonder tussenstappen.

EDIT: Omdat een "contactformulier" eigenlijk altijd wel in een website zit bieden de simpelste hostingpakketten soms wel een soort van standaard oplossing voor het verzenden van mail (althans, vroegah was dit zo). Je kon dan een CGI-script aanroepen die de verzending van mail verder afhandelt. Dit zou dan in documentatie / de specs van je hostingpakket moeten staan.
Bedankt door: Jointjeff
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.179s