pepper Geplaatst: 31 augustus 2007 Delen Geplaatst: 31 augustus 2007 Wie kan mij uitleggen hoe ik een contactformulier maak dat na het indrukken van verzend een html naar het opgegeven emailadres stuurt <img src="/forums/images/graemlins/smirk.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Digger Geplaatst: 31 augustus 2007 Delen Geplaatst: 31 augustus 2007 Tricky stuff, maar niet onmogelijk. Je moet echter wel een PHP-enabled host hebben in dit geval. Even snel wat bij elkaar gehackt, in 3 files index.html Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl"> <head> <meta http-equiv="Content-Language" content="nl" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Reactieformulier</title> </head> <body> <div id="formulier"> <form method="post" action="sendmail.php"> <fieldset> <p> <label for="inNaam">Naam:</label><br /> <input type="text" name="form[naam]" id="inNaam" /> </p> <p> <label for="inEmail">Email:</label><br /> <input type="text" name="form[email]" id="inEmail" /> </p> <p> <label for="txtReactie">Reactie:</label><br /> <textarea name="form[reactie]" id="txtReactie" rows="4" cols="50"></textarea> </p> <p> <input type="submit" name="submit" value="Versturen" /> </p> </fieldset> </form> </div> </body></html> sendmail.php Code: <?php $ontvanger = 'iemand@domein.invalid'; $onderwerp = 'reactie'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; if($_POST['submit'] && $_POST['form']) { $form = $_POST['form']; require_once('email.tpl.php'); echo "{$email}"; // bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] ) mail($ontvanger, $onderwerp, $email,$headers); }?> email.tpl.php Code: <?php $velden = ""; foreach($form as $veld => $waarde) { $waarde = nl2br($waarde); $velden .= "<p>{$veld}: {$waarde}</p>"; } $email = <<<EOF<html> <head> <title>Blaat</title> </head> <body> Het volgende is ingestuurd:<br /> {$velden} </body> </html>EOF;?> Korte handleiding: In index.html verander je de form elementen zoals gewenst. Zorg ervoor dat de naam van de elementen in het formaat form[elementnaam] vallen en het wordt automatisch door het emailtemplate (email.tpl.php) verwerkt. In sendmail.php de waarden $ontvanger en $onderwerp aanpassen naar keus. Aanpassen naar wens <img src="/forums/images/graemlins/smile.gif" alt="" /> Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 1 september 2007 Auteur Delen Geplaatst: 1 september 2007 Ga het dadelijk proberen bedankt <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 1 september 2007 Auteur Delen Geplaatst: 1 september 2007 Het werkt, had er al veel over gelezen maar kon er maar niet uitkomen. Rest aanvullen gaat lukken Thnx <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Digger Geplaatst: 1 september 2007 Delen Geplaatst: 1 september 2007 Succes! <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> Link naar reactie Delen op andere sites Meer opties om te delen...
Puch Geplaatst: 1 september 2007 Delen Geplaatst: 1 september 2007 Citaat: Het werkt, had er al veel over gelezen maar kon er maar niet uitkomen. Rest aanvullen gaat lukken Thnx <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> Prima script, maar je bouwt best nog wat controles in voor je het formulier laat verzenden. Ondermeer: controle op invullen van bepaalde velden Zoals het nu is geschreven wordt telkens een mail verstuurd als iemand op de knop versturen klikt. (ook als alle velden leeg zijn) iMac 27" macOS SierraiPhone 5s iOS 10 Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 1 september 2007 Auteur Delen Geplaatst: 1 september 2007 Dat klopt, ben wel al blij dat het werkt. Het rare is als ik de formulieren opmaak in de standaard css, ik bij preview een goed beeld krijg. Uploaden en dan opvragen, krijg ik gewoon een witte pagina. De gemailde uitput, kan dat ook beter leesbaar ? <img src="/forums/images/graemlins/confused.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Puch Geplaatst: 1 september 2007 Delen Geplaatst: 1 september 2007 De gemailde output kan je helemaal zelf maken. Maak een pagina in dreamweaver zoals je zelf wil dat het eruit ziet. Het enige waar je moet voor zorgen is als je afbeeldingen gebruikt je de volledige url opgeeft en dan ook zorgt dat die afbeelding daadwerkelijk op die plaats staat. Dus niet <img scr="afbeelding.jpg" />, maar <img scr="http://www.domein.nl/afbeelding.jpg" /> Net hetzelfde voor links Voorzie een plaats waar je de variabel $velden wil plaatsen. Ga naar code view en selecteerde volledige broncode. Plak de volledig broncode in de email.tpl.php file tussen <<<EOF en EOF; Zet er nog de $velden variable in waar je die had voorzien en stuur de hele handel naar de server. Let op: na <<<EOF mag op diezelfde lijn niets meer staan (ook geen spacie) en EOF; moet tegen de kantlijn staat en niets meer op die lijn(ook geen spacie) De output en de mail die je ontvangt zal er nu uitzien zoals de pagina die je maakte. iMac 27" macOS SierraiPhone 5s iOS 10 Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 2 september 2007 Auteur Delen Geplaatst: 2 september 2007 zullen we eens gaan proberen, bedankt <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 23 september 2007 Auteur Delen Geplaatst: 23 september 2007 Alles is verder gelukt, behalve de controle of een veld wel goed ingevuld is. ik heb bv. <tr> <td align="right"><em>E-mail</em></td> <td><input type="text" name="form" size="35" id="form" /></td> </tr> Ik wil hier controleren of het veld is ingevuld met minimaal een @. Is het veld leeg, wil ik een melding en zorgen dat het form niet verstuurd wordt. Ik krijg dit niet voor elkaar. Wie kan mij helpen <img src="/forums/images/graemlins/xyxthumbs.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Puch Geplaatst: 24 september 2007 Delen Geplaatst: 24 september 2007 controle op invullen en zoeken naar een @ in het emailadres is simpel <?php if (isset($_POST['submit'])){ $zoeken = strpos ($_POST['email'], "@"); if (empty ($_POST['email'])){ $fout .= "email is verplicht"; } elseif ($zoeken == false){ $fout .= "geen @ in het email adres"; } else{ print "email ok"; } } ?> <html> <head> </head> <body> <form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>"> <p> <input type="text" name="email" id="email" /> </p> <p> <input type="submit" name="submit" value="Submit" /> </p> </form> <?php print $fout; ?> </body> </html> iMac 27" macOS SierraiPhone 5s iOS 10 Link naar reactie Delen op andere sites Meer opties om te delen...
Big fellow Geplaatst: 26 september 2007 Delen Geplaatst: 26 september 2007 De "beste" validatie is op deze pagina beschreven: http://www.php.net/manual/en/function.getmxrr.php . Echter het is niet de "snelste" aangezien de mail server wordt gecontacteerd.... Maar je weet wel zeker dat het email adres bestaat... Big fellow “Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 29 september 2007 Auteur Delen Geplaatst: 29 september 2007 Alles werkt, alleen heb ik nog een probleem met de uitvoer. Na het verzenden krijg ik op het scherm te zien water er ingevoerd is en welke data verstuurd. De data die ik op het scherm zie wordt vervolgens verstuurd naar het opgegeven email-adres. (De opmaak hiervan is goed) Gaat ook goed. Alleen de opmaak van deze data is haast niet te lezen. Hoe kan ik regelen dat alle invoer per regel onder elkaar komt <img src="/forums/images/graemlins/confused.gif" alt="" /> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Puch Geplaatst: 29 september 2007 Delen Geplaatst: 29 september 2007 Kan je de php code hier zetten zodat we kunnen zien wat er mis loop. Waarschijnlijk doe je ergens nog een print waar iets mee verkeerd loopt. iMac 27" macOS SierraiPhone 5s iOS 10 Link naar reactie Delen op andere sites Meer opties om te delen...
pepper Geplaatst: 29 september 2007 Auteur Delen Geplaatst: 29 september 2007 EMAIL.TPL.PHP <link href="standaard.css" rel="stylesheet" type="text/css"> <?php $velden = ""; foreach($form as $veld => $waarde) { $waarde = nl2br($waarde); $velden .= "<p> {$veld}: {$waarde} </p>" ; } $email = <<<EOF <html> <head> <title>Aanvraag Prijsopgave</title> </head> <body> Hartelijk dank voor uw belangstelling,wij nemen uw aanvraag in behandeling en u ontvangt zo spoedig mogelijk de prijsopgave. Wij hebben van u de volgende gegevens genoteerd:<br /> {$velden} </body> </html> EOF; ?> SENDMAIL.PHP <?php $ontvanger = 'info@############.nl'; $onderwerp = 'Aanvraag Prijsopgave'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; if($_POST['submit'] && $_POST['form']) { $form = $_POST['form']; require_once('email.tpl.php'); echo "{$email}"; // bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] ) mail( $ontvanger, $onderwerp, $email, $headers) ; } ?> groeten pepper 2 x VU+ duo - 1 x Dream 800 - 1 x Dream7000 - 1 x Dream 500 Wavefrontier T90 Link naar reactie Delen op andere sites Meer opties om te delen...
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen