Vraag & Antwoord

Webprogrammeren & scripting

Formulier naar mySQL Database sturen EN naar email.

6 antwoorden
  • Via een script heb ik het voor elkaar gekregen om een formulier naar mijn database gestuurd te krijgen. De code komt van: http://www.webune.com/forums/how-to-insert-data-into-mysql-db-using-form-in-php-database-enter-code-t868.html Maar nu wil ik het formulier ook laten door mailen. (zodat het dus zowel in mijn mailbox als in de database komt te staan. [code:1:40df5da2e1] <?php #################################################################### # THIS SCRIPT CREATED BY WWW.WEBUNE.COM # PLEASE DONT ERASE THIS ################################################################### #################################################################### ################ DATABASE CONFIGURE ############################## #################################################################### $hostname = "db.campingdestriene.nl"; // usually is localhost, but if not sure, check with your hosting company, if you are with webune leave as localhost $db_user = "mv11555de04901"; // change to your database password $db_password = "LVQebI4w"; // change to your database password $database = "mv11555de04901"; // provide your database name $db_table = "user_info"; // leave this as is # STOP HERE #################################################################### # THIS CODE IS USED TO CONNECT TO THE MYSQL DATABASE $db = mysql_connect($hostname, $db_user, $db_password); mysql_select_db($database,$db); ?> <?php if (isset($_REQUEST['Submit'])) { # THIS CODE TELL MYSQL TO INSERT THE DATA FROM THE FORM INTO YOUR MYSQL TABLE $sql = "INSERT INTO $db_table(voornaam,achternaam,user_email) values ('".mysql_real_escape_string(stripslashes($_REQUEST['voornaam']))."','".mysql_real_escape_string(stripslashes($_REQUEST['achternaam']))."','".mysql_real_escape_string(stripslashes($_REQUEST['user_email']))."')"; if($result = mysql_query($sql ,$db)) { echo '<br><h2>Dank u</h2>Uw aanvraag is verzonden. Wij zullen zo snel mogelijk contact met u opnemen voor de bevestiging voor deze aanvraag.<br><br>'; } else { echo "ERROR: ".mysql_error(); } } else { ?> <form method="post" action=""> <!-- START of Dagon Design Formmailer output --> <div class="ddfmwrap"><form class="ddfm" method="post" action="http://outdoor-stevents.nl/bestel-formulier" enctype="multipart/form-data"> <p class="fieldwrap"><label for="voornaam"><span class="required">*</span> Name</label><input class="fmtext" type="text" name="voornaam" id="voornaam" value="" /></p> <p class="fieldwrap"><label for="user_email"><span class="required">*</span> Email</label><input class="fmtext" type="text" name="user_email" id="user_email" value="" /></p> <p><input type="hidden" name="MAX_FILE_SIZE" value="1000000" /></p> <div class="submit"><input type="submit" name="Submit" value="Verstuur"></div> </form></div> <!-- END of Dagon Design Formmailer output --> </form> <?php } ?> [/code:1:40df5da2e1] Er wordt hier ook gebruik gemaakt van een script van Dagon Design voor het formulier. Iemand enig idee hoe ik er voor kan zorgen dat dit formulier ook naar mij toe gemaild wordt? #Misschien een dubbele functie van de "verstuur" knop? Gr Daan
  • Als die wachtwoorden bestaan zou ik ze maar snel uit je post verwijderen.
  • Wachtwoorden zijn fake :) Probleem is echt ;) In ieder geval bedankt voor de oplettendheid!
  • Ik heb hem niet getest en redelijk snel getypt. Dus als het niet werkt lees ik het wel :-) [code:1:fd87f3fcf3] echo '<br><h2>Dank u</h2>Uw aanvraag is verzonden. Wij zullen zo snel mogelijk contact met u opnemen voor de bevestiging voor deze aanvraag.<br><br>'; HIERO MOET DE CODE KOMEN } else { [/code:1:fd87f3fcf3] [code:1:fd87f3fcf3] // Mail data $mailto = "ikzelf@mijnmailadres.com"; $subject = "Formulier van website"; $headers = "From: ". $_REQUEST['voornaam'] ." ".$_REQUEST['achternaam']."<".$_REQUEST['user_email'].">"."\n"; $message = "Voornaam: ".$_REQUEST['voornaam']."\n"; $message .= "Achternaam: ".$_REQUEST['achternaam']."\n"; $message .= "Email: ".$_REQUEST['user_email']; mail($mailto, $subject, $message, $headers); [/code:1:fd87f3fcf3]
  • Hoe je het doet weet ik niet, maar het werkt! Enorm bedankt! Ik waardeer de moeite en de tijd die je hebt genomen om zelf de code te schrijven heel erg! #Komt voorlopig nog bij spam, maar wie weet veranderd dat nog..
  • Graag gedaan. Van die spam, dat ligt waarschijnlijk aan de instellingen van je provider of e-mail dienst. Dus ik zou daar eens zoeken naar een oplossing. Hoe ik het doe: Het is niet zo heel erg moeilijk. Het belangrijkste zit in de laatse regel: mail($mailto, $subject, $message, $headers); Dit is de standaard PHP mail functie. De mail fuctie van PHP wil vier parameters meekrijgen in de juiste volgorde: Mailadres, onderwerp, het bericht, en de headers (from, reply-to, mimetype, etc. Waarvan alleen de From verplicht is) Alles wat er voor die laatste regel gebeurt is het opbouwen van die vier variabelen die meegestuurd moeten worden. Het mail adres maak ik standaard aan met de variabele $mailto Het onderwerp idem dito met de variabele $subject Voor de header bouw ik alleen het verplichtte 'From" op met behulp van de data die al in het formulier zit, zodat er iets uit komt als: From: Jan Klaassen<janklaassen@poppenkast.com> En voor het bericht zelf bouw ik de variabele $message op door de labeltjes 'voornaam', 'achternaam' en 'Email' voor de data te plakken en er een regeleinde (\n) aan te plakken. Dan zijn alle variabelen klaar, dus mailen maar: mail($mailto, $subject, $message, $headers);

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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