ingevuld formulier ontvangen per mail

Status
Niet open voor verdere reacties.
Kun je even je hele code tussen [PHP ] en [/PHP ] (zonder spaties) posten?
 
Kun je even je hele code tussen [PHP ] en [/PHP ] (zonder spaties) posten?

<?php
##########################
# Start Configuration #
##########################
$sWebsitenaam = "http://www.wbvw.nl"; //vul hier de naam van jouw website in
$sMail = "info@wbvw.nl"; //Het e-mailadres waarnaar de mail word gestuurd.
$bHTML = true; //Bij TRUE word er een HTML-mail gestuurd. Bij FALSE een plain-text-mail.
$sOnderwerp = "Gegevensformulier"; //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. ik zal als dat nodig is zo snel mogelijk antwoord geven."; //de tekst van het bedank mailtje.
$sBedanktfrom = "info@wbvw.nl"; //vanaf welk adres moet dit bedankmailtje vestuurd worden?
$sBedanktsubj = "Bedankt voor uw reactie!"; //dit is het ondewerp van het bedanktmailtje
$sBedanktTxt = "De e-mail is verzonden. Er zal als dat nodig is zo snel mogelijk antwoord worden gegeven.";
$sConditions = // Geef hieronder de voorwaarden aan
'<p class="MsoNormal" style="margin-bottom: 6pt;">
<span style="font-size: 10pt; line-height: 115%; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;">
Door overmaking van de contributie van &euro; 5,00 p/jr. op Rekeningnr. : 13.63.46.324 t.n.v. Woonbelangenvereniging te Doetinchem,
<br />bevestig ik mijn lidmaatschap van Woonbelangenvereniging Wetenschapsbuurt te Doetinchem.
<br /><br />
Opzeggingen lidmaatschap door verhuizing / Overlijden o.i.d. graag schriftelijk aan het secretariaat.
</span>
<b>
<span style="font-size: 10pt; line-height: 115%; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;">
Contributies worden <u>niet</u> gecrediteerd.
</span>
</b>
</p>';

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

$process = false;
if (count($_POST) > 0) {
$process = true;
//controleer of de $bHTML wel fatsoenlijk is ingesteld
if(!is_bool($bHTML)) {
echo
'De configuratie is onjuist.
Zorg dat je bij <font color="blue"><i>'. $bHTML .'</i></font> een booleaanse waarde (TRUE of FALSE) hebt ingevuld.
Let op: 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($aKeys as $key => $value) {
$aKeys[$key]=strtolower($value); //maak alle waarden in kleine letters
}
$aMail = explode("@",$sMail);
$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 = "info@".$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 (". $sFrom .") 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
echo '<ul style="list-style: none; color: red;">'. "\n";
foreach($error as $value) {
print("\t<li>". $value ."</li>\n");
}
echo '</ul>';
} else {
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: ".$sWebsitenaam." <'.$sFrom.'>' . "\r\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";
$sContent .= ($bHTML) ? $sConditions : strip_tags($sConditions);
$enter = " ";
$sContent = ($bHTML) ? nl2br($sContent) : str_replace("\n",$enter,$sContent);
if($bBedanktmail){
$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail);
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers);
}
mail($sMail,$sSubject,$sContent);
print($sBedanktTxt);
$process = false;
exit();
}
}
echo '<form action="'.$_SERVER['REQUEST_URI'].'" METHOD="POST">'."\n";
?>
 
Je had het bij de verkeerde gedaan.

PHP:
$sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n"; 
$sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n"; 
$sContent .= ($bHTML) ? $sConditions : strip_tags($sConditions); 
$enter = " "; 
$sContent = ($bHTML) ? nl2br($sContent) : str_replace("\n",$enter,$sContent); 
if($bBedanktmail){ 
$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail); 
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers); 
} 
mail($sMail,$sSubject,$sContent,$headers); 
print($sBedanktTxt); 
$process = false; 
exit(); 
} 
} 
echo '<form action="'.$_SERVER['REQUEST_URI'].'" METHOD="POST">'."\n";
 
Je had het bij de verkeerde gedaan.

PHP:
$sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n"; 
$sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n"; 
$sContent .= ($bHTML) ? $sConditions : strip_tags($sConditions); 
$enter = " "; 
$sContent = ($bHTML) ? nl2br($sContent) : str_replace("\n",$enter,$sContent); 
if($bBedanktmail){ 
$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail); 
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers); 
} 
mail($sMail,$sSubject,$sContent,$headers); 
print($sBedanktTxt); 
$process = false; 
exit(); 
} 
} 
echo '<form action="'.$_SERVER['REQUEST_URI'].'" METHOD="POST">'."\n";

Wat had ik bij de verkeerde gedaan?
Ik zie geen enkel verschil, m.u.v. de 4e parameter.
Staat die er in verstuurde hij helemaal niets.
 
Je heb 2 mail-functies, je moet bij die laatste de 4e parameter erbij zetten.
 
Je heb 2 mail-functies, je moet bij die laatste de 4e parameter erbij zetten.

Je bedoelt de verzend mail van het formulier, en de bedank mail ?

Ik zie in beide nog de "$headers" staan.

Ik zie dus geen verschil. bij welke zou die $ dan overbodig zijn ?
 
Je bedoelt de verzend mail van het formulier, en de bedank mail ?

Ik zie in beide nog de "$headers" staan.

Ik zie dus geen verschil. bij welke zou die $ dan overbodig zijn ?

SvU, ik heb het denk ik gevonden.
Bij $headers stond dit er niet in : "Content-Type: text/plain; charset=iso-8859-1\n";
Alleen in de ontvangen mail staat de afzender als : van : .$sWebsitenaam.[info@wbvw.nl]
Wat zou dat nog kunnen zijn ???
En.....een bedank mailtje word niet verstuurd.
Na het versturen zou hij ook moeten gaan naar Bedankt.html, hij openr schoon scherm met de melding :
"De e-mail is verzonden. Er zal als dat nodig is zo snel mogelijk antwoord worden gegeven.";

Voor de rest doet hij het zoals het moet.
 
Laatst bewerkt:
Bij $headers stond dit er niet in : "Content-Type: text/plain; charset=iso-8859-1\n";

Niet?
PHP:
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";
Wat hier staat is eigenlijk dit:
PHP:
if($bHTML) {
  $headers .=  "Content-Type: text/html; charset=iso-8859-1\n";
} else {
  $headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
}

Ik snap niet echt waarom je meteen al met de headers in het uiteindelijk bestand bezig gaat.

Waarom niet je test.php aanpassen zodat daar headers worden verstuurd?
Maak er bijvoorbeeld dit van:
PHP:
<?php
$to      = 'info@wbvw.nl';
$subject = 'Onderwerp hier';
$message = 'Dit is een testbericht';
$headers = 'From: Woonbelangenvereniging Wetenschapsbuurt <info@wbvw.nl>' . "\r\n" .
    'Reply-To: info@wbvw.nl' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
Dit zou een mailtje moeten versturen waarbij hij verzonden is door "Woonbelangenvereniging Wetenschapsbuurt"
 
Niet?
PHP:
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";
Wat hier staat is eigenlijk dit:
PHP:
if($bHTML) {
  $headers .=  "Content-Type: text/html; charset=iso-8859-1\n";
} else {
  $headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
}

Ik snap niet echt waarom je meteen al met de headers in het uiteindelijk bestand bezig gaat.

Waarom niet je test.php aanpassen zodat daar headers worden verstuurd?
Maak er bijvoorbeeld dit van:
PHP:
<?php
$to      = 'info@wbvw.nl';
$subject = 'Onderwerp hier';
$message = 'Dit is een testbericht';
$headers = 'From: Woonbelangenvereniging Wetenschapsbuurt <info@wbvw.nl>' . "\r\n" .
    'Reply-To: info@wbvw.nl' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
Dit zou een mailtje moeten versturen waarbij hij verzonden is door "Woonbelangenvereniging Wetenschapsbuurt"


Klopt Tha Devil, Je heb gelijk, het stond er ook in.
Maar bij mijn huidigwerkend script ,dat van jou, was dat om/op een of andere reden weggevallen.
Vraag me niet hoe?
Maar ik zag het wel, via een wat oudere versie.

Maar heb jij nog een idee zodat er ook een bedankt-mail word verstuurd?
En.. dat na het versturen hij komt in "Bedankt.html" ?
 
Laatst bewerkt:
Het vreemde is dat hij geen bedankmail stuurt ondanks dat $bBedanktmail op true staat :(
Na aardig wat debuggen ben ik nog steeds niet eruit wat er voor zorgt dat hij die niet verstuurt.

Zelfde als een paar dagen geleden :(

Het "doorsturen" naar de bedankt-pagina zou je extra in moeten bouwen. (Of je laat hem includen)
 
Zelfde als een paar dagen geleden :(

Het "doorsturen" naar de bedankt-pagina zou je extra in moeten bouwen. (Of je laat hem includen)

Ja hoor, werk nog steeds met het script wat jij heb aangepast hoor.

Maar in de mail die aankomt, staan alle codes bij elke regel.
Kijk een paar dingen terug naar SvU, daar zit een bijlage bij zoals ik hem aan kreeg
 
Is dat dit bericht?

Dat komt omdat je toen de headers er uit had gehaald...
 
Anton, met alle respect, maar op deze manier ga je PHP niet leren. Zeker niet binnen 2 maanden.


PHP is de makkelijkste van alle talen (mijns inziens), maar desondanks vereist het veel aandacht. Ik ben nog steeds van mening dat je eerst de basis uitgebreid onder de loep moet nemen, want ik heb het idee dat je van 99% van de code uit dit bestand niet weet wat het doet.
 
Anton, met alle respect, maar op deze manier ga je PHP niet leren. Zeker niet binnen 2 maanden.


PHP is de makkelijkste van alle talen (mijns inziens), maar desondanks vereist het veel aandacht. Ik ben nog steeds van mening dat je eerst de basis uitgebreid onder de loep moet nemen, want ik heb het idee dat je van 99% van de code uit dit bestand niet weet wat het doet.

Nou, dat denk ik niet. Ik heb er al aardig kijk op hoor.
Ben nog niet volleerd in HTML en PHP, maar....... begin het aardig door te krijgen na een cursus door te lezen.
Ik heb nl. in het verleden veel in basic en het nodige in pascal gedaan.
Ken ik ook veel vormen van zoals if.....then......else......
Ook werken met formules in EXEL lijkt er enigsinds op.

Maar het werkt nu zover dat de mail zonder codes overkomt.
weet nog niet waarom de text automatisch gegenereerd er boven staat (vlg. mij bij noreplay@.......)
maar ok, het formulier komt over.
Eens of............Oneens hiermee.
Pas ook wel het een en ander aan in de scrips hoor.
Maar weet nog niet altijd waar ik het moet plaatsen!!!!!!!!
 
Laatst bewerkt:
Is het al gelukt?

Hoi SvU, Het is voor 90 a 95% gelukt.
Het stuurt nog geen bedank mailtje, geeft in de mail nog een verkeerd "Van :" adres.
Komt na het invullen van het formulier nog niet in "Bedankt.html"
En ik heb nog enkele vragen, maar dat kan denk ik ook op de Helpmijdag nog wel.
Voor de rest, ben ik lid geworden van een geweldig HELPFORUM.
Ik hoop er nog veel plezier in te kunnen beleven.
Jullie zijn een geweldig team.
Hoop in de toekomst ook velen er te kunnen helpen.

groeten,
:thumb:
Anton
 
Als het een beetje meezit ben ik er dan ook, dan kan ik je wel het e.e.a. proberen uit te leggen. :)
 
Als het een beetje meezit ben ik er dan ook, dan kan ik je wel het e.e.a. proberen uit te leggen. :)

Tha Devil, ik heb gezien dat je je ook had aangemeld tenminste.
Ik hoop je daar wel te ontmoeten.
Weten we wie we teminste eens voor ons hebben toch!!

Anton
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan