Wie kan mij helpen met een webformulier via php

Status
Niet open voor verdere reacties.

Peetje22

Nieuwe gebruiker
Lid geworden
5 feb 2010
Berichten
4
Ik heb op mijn webpagina een formulier gemaakt d.m.v. html
Nu wil ik dit versturen via php maar omdat ik nergens de code kan vinden voor b.v. een uitrol menu en van die vakjes om aan te vinken b.v. ja of nee vragen...
Wordt het een beetje lastig...:o
Dit is hoe ik het heel graag zou willen hebben en dat het dan wordt verzonden naar mijn mailadres zonder dat outlook express opstart....:confused:
Zie deze link om te kijken (onder de rode tekst:o) ->
http://www.jansen-geboorteborden.nl/contact.htm
Ik werk met frontpage...tenminste ik plak daar de code's erin.

Dit is de html code ervan;

HTML:
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><font color="#FFFFFF" size="5"><strong>
<span style="font-family: Verdana">Bestelformulier van Jansen-Geboorteborden.nl</span></strong></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Naam:</font></em><font size="2">
</font></b>
<input size="73" maxlength="40" name="naam" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Adres:</font></em><font size="2">
</font></b>
<input size="73" maxlength="40" name="adres" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Postcode en woonplaats:</font></em><font size="2">
</font></b>
<input size="56" maxlength="40" name="postcode en woonplaats" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Telefoonnummer</font></em><font size="2">:
</font></b>
<input size="63" maxlength="40" name="telefoonnummer" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Mobiel Telefoonnummer:</font></em><font size="2">
</font></b>
<input size="57" maxlength="40" name="Mobiel Telefoonnummer" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">e-mail adres:</font></em><font size="2">
</font></b>
<input size="67" maxlength="40" name="e-mail adres" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><font face="Verdana"><font color="#FFFFFF"><b>
<em style="font-style: normal"><font size="2">Uitgerekende datum</font></em><font size="2">:
</font></b>
<input size="60" maxlength="40" name="uitgerekende datum" style="font-weight: 700"></font><b><font size="2" color="#FFFFFF">
</font></b></font></p>
<p align="left"><b><font face="Verdana" size="2" color="#FFFFFF">W<em style="font-style: normal">elk geboortebord wilt u bestellen of huren? </em>
</font></b></p>
<p align="left"><b><font face="Verdana" size="2" color="#FFFFFF">
<em style="font-style: normal">Hieronder graag beschrijving en nummer van het geboortebord!:</em></font></b><br>
<textarea rows="4" cols="78" name="beschijving van bestelling of reservering"></textarea>
</p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Welke maat bord wilt u bestellen?</font></em><font size="2"><br>
</font></b>
<select name="maat geboortebord" style="font-weight: 700">
<option>75x75cm</option>
<option>80x80cm</option>
<option>85x85cm</option>
<option>90x90cm</option>
<option>95x95cm</option>
<option>100x100cm</option>
<option>105x105cm</option>
<option>110x110cm</option>
<option>115x115cm</option>
<option>120x120cm</option>
</select></font><b><font size="2" face="Verdana"> </font></b></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Welke houtsoort wilt u dat wij gebruiken voor uw geboortebord te maken?</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="MDF" value="MDF" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">MDF
</font></b><font face="Verdana">
<input type="radio" name="Multiplex" value="Multiplex" style="font-weight: 700"></font><b><font size="2" face="Verdana">Multiplex
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Wilt u er een naambordje a € 16,00 ( MDF ) of multiplex € 26,-bijbestellen? 
( bij airbrush is dit € 21,00 of € 31,- voor multiplex ):</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="MDF" value="MDF" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">MDF
</font></b><font face="Verdana">
<input type="radio" name="Multiplex" value="Multiplex" style="font-weight: 700"></font><b><font size="2" face="Verdana">Multiplex
</font></b><font face="Verdana">
<input type="radio" name="Airbrush MDF" value="Airbrush MDF" style="font-weight: 700"></font><b><font size="2" face="Verdana">Airbrush MDF
</font></b><font face="Verdana">
<input type="radio" name="Airbrush Multiplex" value="Airbrush Multiplex" style="font-weight: 700"></font><b><font size="2" face="Verdana">Airbrush Multiplex
</font></b><font face="Verdana">
<input type="radio" name="Geen naambordje nodig" value="Geen naambordje nodig" style="font-weight: 700"></font><b><font size="2" face="Verdana">Geen naambordje nodig
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Typ hier de naam € 1,00 per letter die eventueel op het naambordje moet komen:</font></em><font size="2"><br>
</font></b>
<textarea rows="1" cols="72" name="naam van de baby" style="font-weight: 700"></textarea></font><b><font size="2" face="Verdana">
</font></b></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Wilt u plakletters of de naam geschilderd?</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="plakletters" value="plakletters" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">Plakletters
</font></b><font face="Verdana">
<input type="radio" name="geschilderd" value="geschilderd" style="font-weight: 700"></font><b><font size="2" face="Verdana">geschilderd
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Wilt u er een paal a € 20,00 of muurbevestiging a € 5,00 bijbestellen?</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="paal" value="paal" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">paal&nbsp;
</font></b><font face="Verdana">
<input type="radio" name="muurbevestiging" value="muurbevestiging" style="font-weight: 700"></font><b><font size="2" face="Verdana">muurbevestiging
</font></b></i></font></p>
<p align="left"><i><font color="#FFFFFF"><font face="Verdana">
<input type="radio" name="paal+muurbevestiging" value="paal+ muurbevestiging" style="font-weight: 700"></font><b><font size="2" face="Verdana">paal + muurbevestiging
</font></b></font></i></p>
<p align="left"><i><font color="#FFFFFF"><font face="Verdana">
<input type="radio" name="wij doen dit zelf dus het is niet nodig!" value="wij doen dit zelf dus het is niet nodig!" style="font-weight: 700"></font><b><font size="2" face="Verdana">wij doen dit zelf dus het is niet nodig!
</font></b></font></i></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Is het een spoedopdracht die binnen 1 week klaar moet? (kosten € 25,-) 
Of is het een spoedopdracht die binnen 2 weken klaar moet? (kosten € 15,-)</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="spoed 1 week" value="spoed 1 week" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">spoed 1 week
</font></b><font face="Verdana">
<input type="radio" name="spoed 2 weken" value="spoed 2 weken" style="font-weight: 700"></font><b><font size="2" face="Verdana">spoed 2 weken
</font></b><font face="Verdana">
<input type="radio" name="standaard levertijd 3 weken (geen extra kosten)" value="standaard levertijd 3 weken (geen extra kosten)" style="font-weight: 700"></font><b><font size="2" face="Verdana">standaard levertijd 3 weken (geen extra kosten)
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Gaat u akkoord met de voorwaarden?( Http://www.jansen-geboorteborden.nl/voorwaarden.htm)</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="ja" value="ja" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">ja
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">U bent op de hoogte dat het geboortebord als het klaar is afgehaald dient te worden en niet kan worden verzonden?</font></em><font size="2"><br>
</font></b><i>
<input type="radio" name="ja" value="ja" style="font-weight: 700"></i></font><i><b><font size="2" face="Verdana">ja
</font></b></i></font></p>
<p align="left"><font color="#FFFFFF"><font face="Verdana"><b>
<em style="font-style: normal"><font size="2">Wanneer wilt u dat het bord echt klaar is?:</font></em><font size="2"><br>
</font></b>
<textarea rows="1" cols="44" name="datum wanneer het af moet zijn." style="font-weight: 700"></textarea></font><b><font size="2" face="Verdana">
</font></b></font></p>
<p align="left"><b><font color="#FFFFFF" size="2" face="Verdana">Bedankt voor uw bestelling!
</font></b></p>
<p align="left"><b><font color="#FFFFFF" size="2" face="Verdana">U krijgt nog 
een bevestiging van ons! </font></b></p>
<p align="left"><b><font color="#FFFFFF" size="2" face="Verdana">(ontvangt u geen 
bevestiging binnen 24 uur op werkdagen verzoek ik u, mij te bellen ) </font></b>
</p>
<p align="left"><b><font color="#FFFFFF" size="2" face="Verdana">Zodra het geboortebord voor u klaar staat, ontvangt u meteen een mailtje of telefoontje van ons!!
 
</font></b></p>
<p align="left"><b><font color="#FFFFFF" size="2" face="Verdana">Petra Jansen
</font></b></p>
<p align="left"><b><a href="http://www.jansen-geboorteborden.nl">
<font color="#FFFFFF" size="2" face="Verdana">www.jansen-geboorteborden.nl</font></a></b></p>
<p align="left">&nbsp;<?php?></p>
<p align="left"><font color="#FFFFFF"><b><font size="2" face="Verdana">&nbsp;</font></b><font face="Verdana"><input type="submit" value="Verzenden" style="font-weight: 700"></font><b><font size="2" face="Verdana">
</font></b></font></p>
</form>

En dit is hoe ik heb zitten puzzelen zelf maar ik kreeg het niet werkend...:o
PHP:
<? 
$mail_ontv = "jansengeboorteborden@planet.nl";

// is niet 100% !!! 
function checkmail($mail) 
{ 
//Spits het opgegeven E-mail adres op in de E-mail accountnaam en het E-mail domein.
list($email_account, $email_domain) = split('@',$mail);

if (empty($email_domain)) 
{
$email_domain = "xx.xx";
}

//Controleer of er een 'MX'-record bestaat voor het E-mail domein.
$valid = checkdnsrr($email_domain,'MX');
//Als het E-mail domein bestaat krijg je 1 terug anders een 0;

//Geeft het resultaat terug waar de functie is aangeroepen.
return $valid;
} 

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is 
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'])) 
{ 
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    { 
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; 

    } 
      
    // form + tabel 
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; 
    echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">"; 
      
    // naam 
    echo "<tr><td>Naam:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>"; 
    
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
    
    // adres 
    echo "<tr><td>Adres:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"adres\" value=\"" . $_POST['adres'] . "\"></td></tr>"; 
    
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
    
    // postcode en woonplaats 
    echo "<tr><td>Postcode en Woonplaats:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"postcode en woonplaats\" value=\"" . $_POST['postcode en woonplaats'] . "\"></td></tr>"; 
    
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
    
    // telefoonnummer 
    echo "<tr><td>Telefoonnummer:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"telefoonnummer\" value=\"" . $_POST['telefoonnummer'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
    
    // mobiel 
    echo "<tr><td>Mobiel:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"mobiel\" value=\"" . $_POST['mobiel'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>E-mail adres:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // datum 
    echo "<tr><td>Uitgerekende Datum:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"datum\" value=\"" . $_POST['datum'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Welk geboortebord wilt u bestellen? Hieronder graag een beschrijving en nummer van het geboortebord ::</td></tr>"; 
    echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"2\" COLS=\"60\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"; 
      
     // space 
    echo "<tr><td>&nbsp;</td></tr>";
        
    // button 
    echo "<tr><td>&nbsp;</td></tr>"; 
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"; 
      
    // sluit form + tabel 
    echo "</form>"; 
    echo "</table>"; 
} 
// versturen naar 
else 
{      
    // set datum 
    $datum = date("d.m.Y H:i"); 
      
    // set ip 
    $ip = $_SERVER['REMOTE_ADDR']; 
      
    $inhoud_mail = "===================================================\n"; 
    $inhoud_mail .= "Ingevulde bestelformulier van Jansen-Geboorteborden\n"; 
    $inhoud_mail .= "===================================================\n\n"; 
    
    $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";

    $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n"; 
    $inhoud_mail .= "adres: " . $_POST['adres'] . "\n";  
    $inhoud_mail .= "Postcode en Woonplaats: " . $_POST['postcode en woonplaats'] . "\n";  
    $inhoud_mail .= "Telefoonnummer: " . $_POST['telefoonnummer'] . "\n";  
    $inhoud_mail .= "Mobiel: " . $_POST['mobiel'] . "\n";  
    $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n"; 
    $inhoud_mail .= "Uitgerekende Datum: " . $_POST['datum'] . "\n";
    $inhoud_mail .= "Welk geboortebord wilt u bestellen? Hieronder graag een beschrijving en nummer van het geboortebord :\n"; 
    $inhoud_mail .= $_POST['msggs'] . "\n\n"; 
      
    $inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n"; 
      
    $inhoud_mail .= "===================================================\n\n"; 
    
    // -------------------- 
    // spambot protectie 
    // ------ 
    // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ 
    // ------ 
    
    $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
    
    $headers = stripslashes($headers);
    $headers = str_replace("\n", "", $headers); // Verwijder \n 
    $headers = str_replace("\r", "", $headers); // Verwijder \r 
    $headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes 
    
    $_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n 
    $_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r 
    $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes 
     
    mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers); 
     
    echo "<h1>Je e-mail is verstuurd</h1>";
    
    echo "<p>Bedankt voor uw bestelling. Wij zullen uw bestelling z.s.m. bevestigen! U zult snel een bevestiging "; 
    echo "krijgen.</p>"; 
     
} 
?>

Hopelijk kan iemand mij vertellen wat anders moet of wat ik fout doe.
 
Is het progje "Web.Form.Builder" niet iets om te gebruiken op je site?

Ik gebruik het zelf ook op mijn site!

Heel handig en werkt 100%

Groet,
Sammy
 
Dat programma heet ook "web form builder"?
Kan ik dat via internet ergens kopen?
Of moet ik daarvoor naar de winkel.
Als het werkt wil ik het wel proberen!:thumb:
 
Stuur even mij je mail adres.
Dan zal ik je de link van mijn site sturen dan kan je het zien.

Ik kan je dan ook verdere toelichting geven ;-)

Gr.
Sammy
 
Hier is de php die zou moeten werken(je moet zelf de controle van de inhoud even afmaken, (checkt alleen of er iets in de eerste velden staat en of akkoord is gegaan met algemene voorwaarden, zelf (use google) even afmaken voor bijv adres en postcode.))!niet vergeten je mail in te vullen.:
PHP:
<?php
if($_server['request_method'] == 'post') {

//De gegevens uit lezen naar variabelen
$naam = $_post['naam'];
$adres = $_post['adres'];
$mail = $_post['mail'];
$post_plaats = $_post['postcode en woonplaats'];
$tel = $_post['telefoonnumer'];
$mobiel = $_post['mobiel'];
$uitgedatum = $_post['datum'];
$msggs = $_post['mssgs'];
$maat= $_post['maat'];
$houtsoort= $_post['houtsoort'];
$naambordje= $_post['naambordje'];
$tekst_naambordje= $_post['tekst_naambordje'];
$plak_schilder= $_post['plak_schilder'];
$paal_muur= $_post['paal_muur'];
$spoed= $_post['spoed'];
$voorwaarden= $_post['voorwaarden'];
$afhalen= $_post['afhalen'];
$max_klaar= $_post['max_klaar'];

//inhoud controleren
if (!$naam)	{
echo "• U heeft geen naam ingevuld!<br />";}
if (!$adres)	{
echo "• U heeft geen naam ingevuld!<br />";}
if (!$mail)	{
echo "• U heeft geen naam ingevuld!<br />";}
//enz.
//algemene voorwareden
if (voorwaarden != True)    {
echo "• U moet akkoord gaan met de algemene voorwaarden om te bestellen!<br />";}
//zelfde voor afhalen
//versturen
else {
//verstuur variabelen defineren
$ip = getenv("remote_addr"); 
$tijd = time();
$datum = strftime("%d/%m/%y");
$mailadres = "Het emailadres van de ontvanger";
$inhoud ="
===================================================
 Ingevulde bestelformulier van Jansen-Geboorteborden
===================================================
Naam: ".$naam."
Adres: ".$adres"  
Postcode en Woonplaats: " $postcode_en_woonplaats." 
Telefoonnummer: ".$tel."  
Mobiel: ".$mobiel." 
E-mail adres: ".$mail"
Uitgerekende Datum: ".$uitgdatum."
Welk geboortebord wilt u bestellen? Hieronder graag een beschrijving en nummer van het geboortebord:
".$msggs." 

Maat: ".$maat."
Materiaal: ."$houtsoort".
Naambordje: ."$naambordje".
Tekst naambordje: ".$tekst_naambordje."
Letters: ".$plak_schilder."
Bevestiging: ."$paal_muur".
Spoed: ".$spoed."
Af voor: ".$max_klaar."

Verstuurd op ". $datum ." om ".$tijd." via het ip " . $ip . " 
===================================================
";
//versturen
mail("$mailadres","Besteling:$naam","$inhoud","from: " . $mail . "");
echo "• Uw bericht is verzonden. u krijgt zo snel mogelijk antwoord.";
}
}
?>

over de html:
je hebt de radio button's fout gedaan:
van een set je waar je er maar 1 van moet kunnen selecteren moet je dezelfde naam geven. de value's worden gelezen door de php.

en zorg dat je name's van alle invulbare dingen overeenkomen met $_post['Het gene dat hier staat boven in het php script'];

vriendelijke groet
 
Oké super!
Ga eens kijken of ik het zo werkend krijg!
Super bedankt voor het php script doorsturen!:thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan