Multidesk.be » Forums » Webdesign & graphics » welk script gebruiken voor Dreamweaver mailformulier

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Ezio op zaterdag 28 september 2013 om 22:00:44.
Ezio's avatar
Multiviteit: 973
Y'ello,

'k heb net een eenvoudig mailformulier aangemaakt via Dreamweaver voor mijn (experimenteer)website. Maar nu vraag ik me af hoe ik dit kan laten verzenden zonder mailto: te gebruiken (want dan opent de standaard mailclient van de bezoeker, en dat willen we uiteraard niet ;) )
Volgens mij moet je dan gebruikmaken van een script, maar welk script?
Mijn website is gehost bij Versio en mijn internetprovider is Telenet :)

Thx!

Greetz,
Thibault
I'm a gamer because I don't have a life... I've chosen to have many
^ Reactie #1 geschreven door Ezio op zondag 27 oktober 2013 om 21:47:38.
Ezio's avatar
Multiviteit: 973
Momenteel gebruik ik onderstaandPHP scriptje (gebaseerd op dit script), maar helaas werkt het niet :(

PHP
  1. <?php
  2. $naar = 'contact@***********.be'; // Waar moet het naartoe?
  3. $onderwerp = 'Bericht via contactformulier'; // Het onderwerp van het bericht
  4.  
  5. // Header instellen, zodat nl2br() werkt
  6. $headers = "MIME-version: 1.0\r\n";
  7. $headers .= "content-type: text/html;charset=utf-8\r\n";
  8.  
  9. if(isset($_POST['Verzenden'])) // Als het formulier verzonden is door op de verzend knop te klikken
  10. {
  11.        
  12.        
  13.         $fout = false; // Om te kijken straks of er wat fout is
  14.  
  15.        
  16.         //Controleren of alles juist is ingevuld doen we via Spry
  17.  
  18.         if($fout == false) // Als er niks fout is (alles is dus netjes ingevuld)
  19.         {
  20.                
  21.                                
  22.                 $headers .= 'From: ' . $Naam . ' <' . $Mail . '>'; // Een afzender instellen zodat je kan reageren.
  23.  
  24.  
  25.  
  26.                 if(mail($naar, $onderwerp, nl2br($Bericht), $headers))
  27.                 {
  28.                          header('Location: BerichtVerzonden.html');
  29.                 }
  30.                 else
  31.                 {
  32.                         header('Location: BerichtNietVerzonden.html');
  33.                 }
  34.         }
  35. }
  36. ?>



Wat doe ik fout?
'k ben trouwens een enorm leek op vlak van PHP, maar daar wordt iets aan gedaan :D

Opmerking van de crew

Emailadres verwijderd :)

Wheeldigger
Deze tekst werd het laatst bewerkt voor 1.12 % door Wheeldigger op dinsdag 29 oktober 2013 om 00:57:07.
I'm a gamer because I don't have a life... I've chosen to have many
^ Reactie #2 geschreven door Simon op maandag 28 oktober 2013 om 23:02:32.
Simon's avatar
Multiviteit: 3742
Wat precies werkt niet? Ik heb het eens geprobeerd op je website en de foutmelding die ik krijg is deze warning:
Warning: Cannot modify header information - headers already sent by...

Dit heeft niets te maken met de mail()-functie zelf maar wel met de header()-functie die enkel werkt als er nog geen output naar de server verzonden is. Roep je nog ergens header() aan voor lijn 26?

Kan je eens de volledige code geven anders?

Aanvulling

En haal je emailadres eruit voor de veiligheid :)

Deze tekst werd het laatst bewerkt voor 7.04 % door Simon op maandag 28 oktober 2013 om 23:03:01.
^ Reactie #3 geschreven door Ezio op maandag 28 oktober 2013 om 23:24:57.
Ezio's avatar
Multiviteit: 973
Die foutmelding kreeg je doordat ik de nieuwste versie van dat PHP bestand nog moest uploaden, sorry ;)

Dat is de volledige code van het PHP bestand, maar hieronder toch nog even die van het contactformulier.


CODE
  1. <form id="form1" name="form1" method="post" action="ContactFormulier.php">
  2.         <table border="0" cellspacing="10" cellpadding="5">
  3.           <tr>
  4.             <th width="208" scope="row">Naam</th>
  5.             <td width="451"><input type="text" name="Naam" id="Naam" /></td>
  6.           </tr>
  7.           <tr>
  8.             <th scope="row">E-mailadres</th>
  9.             <td><span id="SpryMail">
  10.             <label for="Mail"></label>
  11.             <input type="text" name="Mail" id="Mail" />
  12.             <span class="textfieldRequiredMsg"><br />
  13.             Een e-mailadres is verplicht</span><span class="textfieldInvalidFormatMsg"><br />
  14.             Het ingevoerde adres is (nog) niet correct.</span></span></td>
  15.           </tr>
  16.           <tr>
  17.             <th scope="row">Wat heb je te zeggen?</th>
  18.             <td><textarea name="Bericht" id="Bericht" cols="45" rows="5"></textarea></td>
  19.           </tr>
  20.           <tr>
  21.             <th scope="row"><input type="submit" name="Verzenden" id="Verzenden" value="Verzenden" />              <input type="reset" name="Leegmaken" id="Leegmaken" value="Leegmaken" /></th>
  22.             <td>&nbsp;</td>
  23.           </tr>
  24.         </table>
  25.       </form>



Wanneer er een contactformulier verzonden wordt krijg ik wel effectief een mailtje in mijn inbox, maar enkel het onderwerp ("Bericht via contactformulier") lijkt te werken. Als afzender staat er dan <> <<>>, en in de mail zelf staat er niets van tekst.


En hoe zou ik dan precies mijn e-mailadres eruit kunnen halen? :)
Deze tekst werd het laatst bewerkt voor 1.99 % door Ezio op maandag 28 oktober 2013 om 23:27:25.
I'm a gamer because I don't have a life... I've chosen to have many
^ Reactie #4 geschreven door Wheeldigger op woensdag 30 oktober 2013 om 00:51:28.
Wheeldigger's avatar
Multiviteit: 10173
Moderator

Dixit

Dixit Ezio op 28/10/2013 23:24:57:
En hoe zou ik dan precies mijn e-mailadres eruit kunnen halen? :)

Simon bedoelde waarschijnlijk die in je startpost, ik heb daar al wat **** van gemaakt :)
^ Reactie #5 geschreven door Ezio op woensdag 30 oktober 2013 om 10:09:47.
Ezio's avatar
Multiviteit: 973
Ahzooooo, thx :D
I'm a gamer because I don't have a life... I've chosen to have many
^ Reactie #6 geschreven door Simon op maandag 4 november 2013 om 15:54:55.
Simon's avatar
Multiviteit: 3742
PHP geeft de variabelen uit het contactformulier door via $_POST['...']. Na het verzenden zal er in $Bericht niets staan (het kan zijn dat dit in vorige PHP-versies wel nog het geval was maar het is sowieso niet de juiste manier om aan die informatie te raken), maar wel in $_POST['Bericht'].
Net zoals je doet in lijn 9 met de 'Verzenden'-variabele moet je dit ook zo met de andere doen. Natuurlijk met de nodige veiligheid ingebouwd :).
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen