PDA

Volledige versie bekijken : webformulier verzenden


archimadness
%Europe/Berlin %911 %2006, 22:53
Ik heb een formulier gemaakt. Deze zou ik graag opgestuurd willen hebben.

Hoe kan dit het beste gedaan worden?
CGI / PHP?

Mijn host ondersteunt ze beide

Hierbij het HTML formulier.
<style>
body,td,legend {
background: white ;
color: black;
font-family: Arial;
font-size: 14px;
}
span.required{
font-size: 13px;
color: red;
}
</style>

<form action="" method="POST">
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q0">Name <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q0_Name" id="q0">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q1">Voornaam <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q1_Voornaam" id="q1">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q2">Adres <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q2_Adres" id="q2">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q3">Postcode <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q3_Postcode" id="q3">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q9">Woonplaats <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q9_Woonplaats" id="q9">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q18">Telefoon nummer <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q18_Telefoonnummer" id="q18">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q14">E-mail adres <span class="required">*</span></label>
</td>
<td valign="bottom">
<input type="text" size="20" name="q14_E-mailadres" id="q14">
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >
<label for="q21">Type werk</label>
</td>
<td valign="bottom">
<select name="q21_Typewerk" id="q21">
<option></option>
<option>Pleisteren binnen </option>
<option>Cementdekvloeren </option>
<option>Anhydriet vloeivloeren</option>
<option>Tegelwerk</option>
</select>
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="top" >
<label for="q20">Werkzaamheden</label>
</td>
<td valign="bottom">
<textarea wrap="soft" cols="30" rows="3" name="q20_Werkzaamheden" id="q20"></textarea>
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="top" >
<label for="q19">Ruimte voor uw reactie of een algemene vraag</label>
</td>
<td valign="bottom">
<textarea wrap="soft" cols="30" rows="3" name="q19_Ruimtevooruwreactieofeenalgemenevraag" id="q19"></textarea>
</td>
</tr>
</table>

<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >

</td>
<td valign="bottom">
<input type="submit" name="q7_" value="Verzend">
</td>
</tr>
</table>

</form>

mech7
%Europe/Berlin %914 %2006, 22:56
http://nl2.php.net/manual/en/function.mail.php

archimadness
%Europe/Berlin %921 %2006, 23:07
Hoe krijg ik de gegevns er dan uit?
naam
adres
etc?

Laiverd
%Europe/Berlin %933 %2006, 23:24
http://www.hotscripts.com/PHP/Tips_and_Tutorials/Email_Systems/index.html

archimadness
%Europe/Berlin %483 %2006, 12:36
Bedankt voor de link, hier heb ik veel aan.

Maar hoe krijg ik de gegevens van het poll down menu overgezet.

Ze krijgen vier keuzes, hoe kan ik dit in orde maken?

moonwalker
%Europe/Berlin %487 %2006, 12:42
Het poll down menu heeft een naam "q21_Typewerk". Die kun je opvragen in PHP met:

<?php $_POST['q21_Typewerk']; ?>


En die dan doorsturen...

Hopelijk is het duidelijk.

archimadness
%Europe/Berlin %856 %2006, 21:32
Volgens mij klopt er nu helemaal niets meer van, ik heb het volgende gedaan.

HTML file is:
<style type="text/css">
<!--
span.required { font-size: 13px;
color: red;
}
-->
</style>
<form method="post" action="mailme.php">
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Naam <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Name">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Voornaam <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Voornaam">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Adres <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Adres">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Postcode <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Postcode">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Woonplaats <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Woonplaats">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Telefoonnummer <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="Telefoonnummer">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >E-mail adres <span class="required">*</span></label>
</td>
<td valign="bottom"><input type="text" size="40" name="E-mailadres">
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" >Type werk</label>
</td>
<td valign="bottom"><select name="Typewerk">
<option value=" "> </option>
<option value="Stukadoorswerk">Stukadoorswerk</option>
<option value="Spackspuitwerk">Spackspuitwerk</option>
<option value="Cementdekvloeren ">Cementdekvloeren </option>
<option value="Anhydriet vloeivloeren">Anhydriet vloeivloeren</option>
<option value="Tegelwerk">Tegelwerk</option>
<option value="Overige">Overige</option>
</select>
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="top" >Werkzaamheden</label>
</td>
<td valign="bottom"><textarea wrap="soft" cols="40" rows="3" name="Werkzaamheden"></textarea>
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="top" >Ruimte voor uw reactie of vraag</label>
</td>
<td valign="bottom"><textarea wrap="soft" cols="40" rows="3" name="Ruimtevooruwreactieofvraag"></textarea>
</td>
</tr>
</table>
<table width="520" cellpadding="5" cellspacing="0">
<tr valign="bottom">
<td width="150" valign="bottom" ></td>
<td valign="bottom"><input type="submit" name="submit" value="Verzend">
</td>
</tr>
</table>
</form>


PHP file ziet er als volgt uit:

<?
// Replace with your email address!
$to = "gastenboek@mediterranescorner.nl";

if($submit)
{
mail("$to", "$Name", "$Voornaam", "$Adres", "$Postcode", "$Woonplaats", "$Telefoonnummer", "$E-mailadres", "$Typewerk", "$Werkzaamheden", "$Ruimtevooruwreactieofvraag");

} else {
echo "There was an error please try again";
}
?>

Iemand een idee?

moonwalker
%Europe/Berlin %873 %2006, 21:58
<?php
//Haal de ingevulde waarden op en zet ze in een variabel om ze eenvoudig toe te voegen in de mail. Je moet wel de rest zelf schrijven. Dit is alleen een voorbeeld.
$name = $_POST['name'];
$email = $_POST['E-mailadres'];
$voornaam = $POST['Voornaam'];
//Als zenden JA is moet de formulier gestuurd worden.
if ($zenden == "ja") {
//Email adres waar het naar toe moet.
$recipient = "gastenboek@mediterranescorner.nl";
//Headers om je bericht als HTML te kunnen lezen. De laatste header staat van wie de mail komt.
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: $email\r\n";
//Je bericht komt hier te staan. Je bent vrij om dingen te veranderen. Dit is alleen een voorbeeld zoals ik al zei. De rest moet je op hetzelfde manier invullen.
$message = "
Naam: $name, <br>
Voornaam: $voornaam, <br>


";
//Stuur de mail op.
mail ($recipient, $subject, $message, $headers);

//Sluit de HTML af
echo "</body></html>";

//Schrijf een leuk bericht nadat de mail is verzonden. Je kunt de variabelen gebruiken om het persoonlnijker te maken. Dus iets van "Hallo $name, we hebben je bericht ontvangen.
echo ("JE BERICHT");



}else{
echo "Foutmelding opgeven";
}
?>


Ik hoop dat je het nu beter begrijpt. Zo niet laat het eff weten...

Succes.

archimadness
%Europe/Berlin %927 %2006, 23:16
Mijn html doe ik verder niets mee als ik het goed begrijp.

Alleen de PHP, deze heb ik nu zo gemaakt.

<?php
//Haal de ingevulde waarden op en zet ze in een variabel om ze eenvoudig toe te voegen in de mail. Je moet wel de rest zelf schrijven. Dit is alleen een voorbeeld.
$name = $_POST['name'];
$voornaam = $_POST['voornaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$woonplaats = $_POST['woonplaats'];
$telefoonnummer = $_POST['telefoonnummer'];
$email = $_POST['E-mailadres'];
$typewerk = $POST['typewerk'];
$werkzaamheden = $_POST['werkzaamheden'];
$Ruimtevooruwreactieofvraag = $_POST['Ruimtevooruwreactieofvraag'];
//Als zenden JA is moet de formulier gestuurd worden.
if ($zenden == "ja") {
//Email adres waar het naar toe moet.
$recipient = "gastenboek@mediterranescorner.nl";
//Headers om je bericht als HTML te kunnen lezen. De laatste header staat van wie de mail komt.
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: $email\r\n";
//Je bericht komt hier te staan. Je bent vrij om dingen te veranderen. Dit is alleen een voorbeeld zoals ik al zei. De rest moet je op hetzelfde manier invullen.
$message = "
Naam: $name, <br>
Voornaam: $voornaam, <br>
Adres = $adres, <br>
Postcode = $postcode, <br>
Woonplaats = $woonplaats, <br>
Telefoonnummer = $telefoonnummer <br>
E-mail = $E-mailadres, <br>
Type werk = $typewerk, <br>
Werkzaamheden = $werkzaamheden, <br>
Ruimtevooruwreactieofvraag = $Ruimtevooruwreactieofvraag, <br>

";
//Stuur de mail op.
mail ($recipient, $subject, $message, $headers);

//Sluit de HTML af
echo "</body></html>";

//Schrijf een leuk bericht nadat de mail is verzonden. Je kunt de variabelen gebruiken om het persoonlnijker te maken. Dus iets van "Hallo $name, we hebben je bericht ontvangen.
echo ("Bedankt voor uw reactie $name, we zullen zo spoedig mogelijk contact met u opnemen");

Maar het werkt nog niet??

moonwalker
%Europe/Berlin %959 %2006, 00:01
Edit: Sorry was een klein ding vergeten. Boven je SUBMIT knop zet je het volgende:


<input type="hidden" name="zenden" value="ja">


Was het vergeten bij te vertellen.

archimadness
%Europe/Berlin %276 %2006, 07:38
Beste Moonwalker,

Sorry maar ik krijg het nog steeds niet voor elkaar :S . Dit is hoe de files er nu uitzien.
Bedankt voor de moeite.

moonwalker
%Europe/Berlin %391 %2006, 10:23
Hoi,

Een paar punten die je verkeerd hebt gedaan.

1. Je hebt de hidden field onder de SUBMIT knop gezet, dus hij neemt het niet mee.
2. Probeer altijd korte namen te geven aan je velden en vermijd het gebruik van hoofdletters. In de PHP bestand die ik je heb gestuurd moet je eens kijken naar de variabelen die je ophaalt. Daar ben je overal vergeten om hoofdletters te gebruiken.
3. Je vergat de IF en de PHP af te sluiten in je PHP bestand. Dus aan het eind van je eigen bestand hoorde:

}
?>

te staan.

Ik heb de goede bestanden bijgevoegd. Vergelijk ze met je eigen bestanden en je zult zien wat je fout hebt gedaan. ;)

mw

Edit: nog iets...Als je zegt het doet het niet post ook meteen wat je fout krijgt en wat het niet doet. Want dan weten we meteen waar het probleem zit en hoeven we niet het hele formulier door te nemen. :)

archimadness
%Europe/Berlin %537 %2006, 13:53
:D Het werkt!!! :D
:D Hartelijk dank voor de moeite, dank je wel!! :D

moonwalker
%Europe/Berlin %540 %2006, 13:57
Graag gedaan....Hopelijk heb je er ook wat van geleerd. ;)

Succes verder.

archimadness
%Europe/Berlin %764 %2006, 19:20
Nog één vraag, er zijn een aantal velden verplicht, hoe kan ik laten controleren dat de gegevens ingevuld zijn, en dat bij het emailadres eem @ moet staan?

moonwalker
%Europe/Berlin %899 %2006, 22:35
Je kunt het doen met dreamweaver. Daar zit het al ingebouwd. Als je die niet hebt zoek op google op: Form validation javascript

archimadness
%Europe/Berlin %926 %2006, 23:14
wederom bedankt, opgelost