Welkom op Scriptkiddies!
Disclaimer - FAQ - Contact - About - Adverteren
  Home   Artikelen   Forum   Topic openen   Chat   Gastenboek   Links   Aanmelden

  CSS   JavaScript   ASP   PHP   Perl


  LeeJoo  PromootSnel.nl - Web  Jouw Huis  Webjunk.nl  JongerenPlace  Bubbles Sieraden  Webles.netMeer linkpartners

Goed Compleet Mailform!!
Auteur: _firepower_ (lid)
Gepost: 15:08:19 13-10-2005
Stuur prive bericht
Aangezien er erg veel vraag is naar een e-mailformulier die niet via outlook (of iets dergelijks) gaat, heb ik een e-mailformulier gemaakt. En ja daar vind je er honderden van op het internet. Maar deze is anders.
Bij dit mailformulier hoef je alleen een html-formulier te maken, de rest gaat vanzelf.
Een kleine uitleg.
Van je formulier moet je de regel die begint met <post weglaten. Deze word automatisch aangemaakt in php.
Wanneer je een veld verplicht wilt hebben, zet dan een 1 voor de naam. Voorbeeld van een verplicht veld:

Code:
<input type="text" name="1huisdier">

Voorbeeld van een niet-verplicht veld:

Code:
<input type="text" name="huisdier">


Als je een e-mailadres van de bezoeker wilt gebruiken als afzender van een mailtje of om een bedanktmailtje te sturen, moet je een formulier veld met de naam 'email' maken.
Wanneer je het onderwerp van de e-mail wilt veranderen in het onderwerp die de gebruiker opgeeft, maak dan een formulierveld genaam onderwerp of subject.

Het ip-adres van de bezoeker word automatisch meegezonden, netals de tijd van het moment van verzenden.

Je kan dit bestand altijd en op elke pagina includen. Vergeet niet om de phpvariabelen bovenaan in te vullen.

Je moet jouw html-formulier, zonder <form> tag, zetten tussen deze regels:
Code:

<!-- Zet hieronder je formulier neer -->


<!-- Einde formulier -->




Een voorbeeld formulier:
Code:

<!-- Zet hieronder je formulier neer -->

naam:<input type="text" name="1naam" size="20"><br />
mail:<input type="text" name="mail" size="20"><br />
ondwerp:<input type="text" name="1onderwerp" size="20"><br />
bericht:<textarea rows="2" name="bericht" cols="20"></textarea><br />
<input type="submit" value="Submit">
</form>

<!-- Einde formulier -->




Help, stukje

Ik krijg in mijn mail Submit: submit te staan
Stel je krijgt in jouw e-mail bericht ook de verzend/leeg knop(pen) binnen, dan moet je het volgende veranderen.
Ik neem als voorbeeld de Frontpage standaard code:
Code:
<input type="submit" value="Submit" name="B1">

Je haalt dan name="waarde" weg, het word dan:
Code:
<input type="submit" value="Submit">


Ik krijg rare omschrijvingen in mijn mail:
Ik ga weer uit van de standaard frontpage code. Dan kan je het volgende in je mail binnenkrijgen:
Citaat:
T1: Flance
T2: websiteforum.nl


Je hebt dan de name="" verkeerd gedaan. Voeg hier goed omschrijvende namen in zodat je jou eigen mailtje goed snapt.

GReetzzz, _firepower_

Guus Stevering Company All rights reserved
Maker of: Hackerzzone.com, Yellowsoft.nl and
Fearzone.nl.tt





Hier is de code:
PHP:
<?php 
/* 
Script gemaakt door: Guus Stevering
Dit script mag alleen gepubliceerd staan op 
www.Webjunk.nl en www.scriptskiddies.nl 
Dit script mag niet verhandeld worden en mag alleen gebruikt 
worden voor eigen gebruik. 
Voor vragen: guus_flymaster@hotmail.com
*/ 
######################### 
# Start Configuration # 
######################### 

$sWebsitenaam "website!"//vul hier de naam van jouw website in 

$sMail "jou@mail.nl"//Het e-mailadres waarnaar de mail word gestuurd. Voor meerdere adressen, scheid de emailadressen met een comma. 
$bHTML TRUE//Bij TRUE word er een HTML-mail gestuurd. Bij FALSE een plain-text-mail 
$sOnderwerp "Mailformulier website"//Vul hier een onderwerp in. Dit word het onderwerp wanneer er geen ondewerp is opgegeven of als $bOnderwerp op TRUE staat 
$bOnderwerp FALSE//TRUE als bovenstaand onderwerp altijd gebruikt zal worden. FALSE wordt er eerst gekeken of er een onderwerp in het formulier voor komt 

$bBedanktmail TRUE//Moet er een bedankt mailtje gestuurd worden aan die gene die verstuurde? (e-mail invoerveld is dan dus verplicht) 
$sBedanktmail "Bedankt voor je e-mailbericht. Wij geven, indien nodig, zo spoedig mogelijk een reactie."//de tekst van het bedank mailtje 
$sBedanktfrom "jou@mail.nl"//vanaf welk adres moet dit bedankmailtje vestuurd worden? 
$sBedanktsubj "Bedankt!"//dit is het ondewerp van het bedanktmailtje 

$bBedanktTxt FALSE//TRUE als onderstaande tekst als bedankje moet worden weergegeven, FALSE als er moet worden doorgestuurd naar de pagina welke hieronder is aangegeven 
$sBedanktTxt "De e-mail is verzonden."//bedankt text 
$sBedanktURL "http://www.jouwsite.nl/bedankt.html";; //bedankt url 

######################### 
# End Configuration # 
######################### 

if (count($_POST) > 0

//controleer of de $bHTML wel fatsoenlijk is ingesteld 
if(!is_bool($bHTML)) 

print(
"De configuratie is onjuist. Zorg dat je bij <font color=blue><i>$bHTML</i></font> een booleaanse waarde (TRUE of FALSE) hebt ingevuld. Letop: Hier moeten geen quotes ( \" of ') omheen!"); 
exit; 

$errors = array();//definieer arrray voor de errormeldingen 
$aKeys array_keys($_POST); //pak alle arraykeys in een arraytje 
foreach($_POST as $key=>$value

$_POST[$key] = trim($value); //maak alle waarden netjes 

foreach(
$aKeys as $key=>$value

$aKeys[$key]=strtolower($value);//maak alle waarden in kleine letters 


$aMail explode(",",$sMail); 
$aDomein explode("@",$sMail[0]); 
$sDomein $aMail[1]; 

//mail detectie 
if (in_array("mail",$aKeys)) { $sFrom $_POST['mail']; } 
elseif (
in_array("email",$aKeys)) { $sFrom $_POST['email']; } 
elseif (
in_array("e-mail",$aKeys)) { $sFrom $_POST['e-mail']; } 
elseif (
in_array("1mail",$aKeys)) { $sFrom $_POST['1mail']; } 
elseif (
in_array("1email",$aKeys)) { $sFrom $_POST['1email']; } 
elseif (
in_array("1e-mail",$aKeys)) { $sFrom $_POST['1e-mail']; } 
else 

$sFrom "postmaster@".$sDomein
$bBedanktmail FALSE


if (
$bOnderwerp

$sSubject $sOnderwerp

else 

if (
in_array("onderwerp",$aKeys)) { $sSubject $_POST['onderwerp']; } 
elseif (
in_array("subject",$aKeys)) { $sSubject $_POST['subject']; } 
elseif (
in_array("1onderwerp",$aKeys)) { $sSubject $_POST['1onderwerp']; } 
elseif (
in_array("1subject",$aKeys)) { $sSubject $_POST['1subject']; } 
else { 
$sSubject $sOnderwerp; } 




//controle emailadres 
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$sFrom)) 

$error[] = "Het opgegeven e-mail adres is niet geldig."

//check alle verplichte velden 
foreach($_POST AS $key => $value

if(
substr($key,0,1) == 1

if (empty(
$_POST[$key])) 

$name substr($key,1); 
$error[] = "Het veld <i>'".$name."'</i> is verplicht en moet worden ingevuld."




//als er een error was 
if (isset($error) && count($error) > 0

//poep alle errors uit 
print("<ul style=\"list-style: none; color: red;\">\n"); 
foreach(
$error as $value

print(
"\t<li>".$value."</li>\n"); 

print(
"</ul>"); 

else 

$headers "MIME-Version: 1.0\n"
$headers .= "From: ".$sWebsitenaam." <".$sFrom.">\n"
$headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n"
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"

$sContent "Dit is een automatisch gegenereerd e-mailbericht die vanaf je site is verstuurd.\n\n"
foreach(
$_POST as $key => $value

if (
substr($key,0,1) == 1) { $key substr($key,1); } 
$sContent .= ucfirst(strtolower($key)).": ".$value."\n\n"

$sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n"
$sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n"

$enter 
"

$sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ; 

foreach (
$aMail as $sMailAdress

mail(trim($sMailAdress),$sSubject,$sContent,$headers); 


if (
$bBedanktmail

$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail) ; 
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers); 




if (isset(
$bBedanktTxt) && $bBedanktTxt == TRUE

print(
$sBedanktTxt); 

else 

ob_clean(); 
header("location: $sBedanktURL"); 
print(
'<meta http-equiv=refresh content="0; url='.$sBedanktURL.'">'); 



else 

print(
"<form action=\"".$_SERVER['REQUEST_URI']."\" METHOD=\"POST\">\n"); ?> 
<!-- Zet hieronder je formulier neer --> 


<!-- Einde formulier --> 
<? ?> 
download het script    




Reacties van leden

Auteur: lennart @ 17-10-2005

Ziet er nice uit alleen geen tijd om te testen
Auteur: Jacob Slomp @ 17-10-2005

ja, ziet er idd goed uit :)
Auteur: Boris @ 20-12-2005

Wat goed!
Auteur: DevilDuck @ 25-06-2006

of je gaat naar http://www.terradon.nl/
Auteur: compie @ 04-08-2006

vind ik deze mooier, helemaal naar eigen hand te zetten met frontpage

goed werk
thanks
Auteur: alexxi @ 21-01-2007

jeej dis de eerste werkende mailform zonder dat ie via outlook gaat die werkt :D
goed werk ;)




Gebruikersnaam:
Wachtwoord:

Brochures.nl  gratis criminals...  forum probleem  sql file nodig!  wild west game  script gezocht  wat te denken ove...  rabo internetbank...  oehoe!  site tekoop  koppeling zoek &...

Scriptkiddies telt momenteel 6407 leden, er zijn 359 scripts en er zijn momenteel 9 mensen online waarvan 0 leden.

Hoeveel sites heb jij?
Geen
1
2
5
meer dan 5

Parkeren Schiphol Profielen tip NatuurRampen tip JS-Systems LoveBoyz Ringtones! Woning aanbod Weblog maken
Copyright by Jacob Slomp