Hallo,
Ik heb een bestaand php contactformulier aangepast en uitgebreid in php, maar ik heb ergens iets fout gedaan of over het hoofd gezien (mijn eerste stapjes in de php-wereld:). De bedoeling is dat de keuze uit het html-meerkeuzevakje (myopt) in de titel van de mail komt te staan. De rest staat in de body van de mail. Alle velden zijn verplicht in te vullen, behalve de laatste “uw vraag” txtText.
Ben ook niet zeker waar ik $Subject moet gebruiken of eventueel $myopt?
Heb ook al gevonden dat de sendmail::send functie maar 4 parameters accepteert bvb send($from, $to, $message, $subject)
Ik had er meerdere staan in mijn eerste ontwerp.
Hieronder de verschillende files: de html-form, lib.php, config.php en contact.php.
Weet er iemand een oplossing?
Alvast bedankt!
Frederic
1) LIB.PHP
<?php
class sendmail
{
public static function send($from , $to , $message, $subject)
{
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= "From:" . $from; if(mail($to,$subject,$message,$headers))
return true;
else
return false;
}
}
function checkEmailAddress($email){
return preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email);
}
function isPostBack()
{
return ($_SERVER['REQUEST_METHOD'] == 'POST');
}
?>
2) CONFIG.PHP
<?php
// Write contact email reciever here
$contactEmail = "[email protected]";
$email_subject = "$myOpt";
// Write Subscribe email reciever here
$subscribeEmail = "[email protected]";
?>
3) CONTACT.PHP
<?php
include_once './lib.php';
include_once './config.php';
if(!isPostBack()) die('Please send contact form via POST method...');
$Name = htmlspecialchars($_POST['txtName']);
$Email = htmlspecialchars($_POST['txtEmail']);
$Subject = htmlspecialchars($_POST['txtSubject']);;
$preText = "<strong>Bedrijfsnaam:</strong> $Bedrijfsnaam <br />";
$preText .= "<strong>Contactpersoon:</strong> $Name <br />";
$preText .= "<strong>Email:</strong> $Email <br />";
$preText .= "<strong>Telefoon:</strong> $Telefoon <br />";
$preText .= "<strong>BTW:</strong> $BTW <br />";
$preText .= "<strong>Vraag betreft:</strong> $myopt <br /><br />";
$Text = htmlspecialchars($_POST['txtText']);
$Text = $preText . $Text;
if(empty ($Text)) die('Velden met een * moeten ingevuld worden ...');
if(!checkEmailAddress($Email)) die('Onjuist email adres ...');
if(!sendmail::send($Email , $contactEmail , $Text , $Subject ))
die('Kan uw bericht niet verzenden. Er is een fout opgetreden.');
echo '1';
?>
4) FORM
<form action="php/contact.php" method="post" id="frmContact">
<h5>Bedrijfsnaam *</h5>
<input name="txtBedrijfsnaam" type="text" class="txbx" value="" /><br />
<h5>Contactpersoon *</h5>
<input name="txtName" type="text" class="txbx" value="" /><br />
<h5>Email *</h5>
<input name="txtEmail" type="text" class="txbx" value="" /><br />
<h5>Telefoon of GSM *</h5>
<input name="txtTelefoon" type="text" class="txbx" value="" /><br />
<h5>BTW-nummer *</h5>
<input name="txtBTW" type="text" class="txbx" value="" /><br />
<h5>Vraag betreft *</h5>
<select name="txtSubject" id="myOpt" class="txbx">
<option value="Aanvraag algemene informatie">Aanvraag algemene informatie</option>
<option value="Aanvraag documentatie">Aanvraag documentatie</option>
<option value="Aanvraag wisselstukken">Aanvraag wisselstukken</option>
<option value="Aanvraag log-in webshop">Aanvraag log-in webshop</option>
<option value="Aanvraag verkoopcondities">Aanvraag verkoopcondities</option>
<option value="Nieuwsbrief of Promotie">Nieuwsbrief of Promotie</option>
<option value="Andere vraag">Andere vraag</option>
</select>
<div class="erabox">
<h5>Uw vraag </h5>
<textarea name="txtText" class="txbx era" ></textarea><br />
<p>Velden met een * zijn verplicht.</p>
<input type="submit" class="sendbtn" name="btnSend" id="btnSend" value="Verzenden">
<div id="spanMessage">
</div>
</div>
</form>
1.870 views