DiTn
Legacy Member
Ik heb een formulier gemaakt waarbij enkele gegevens kunnen aangevinkt worden.
Ik had deze op één lijn, of tenminste gegroepeerd in het uiteindelijk mailformulier als resultaat gezien.
De volledige pagina kan je hier vinden
De php code is een kant en klaar script, gevonden op het net.
Als ik het goed begrijp, moet ik dus een array maken van de checkboxen
In bovenstaande code staat deze regel
Heeft deze daarmee dan te maken?
Ik heb het script al uitgebreid met stukjes code, maar geen enkel werkt.
Iemand een oplossing hiervoor?
Ik had deze op één lijn, of tenminste gegroepeerd in het uiteindelijk mailformulier als resultaat gezien.
Code:
<input type="checkbox" name="donderdag[]" value="17-18u30">
</div></td>
<td width="50"><div align="center">
<input type="checkbox" name="donderdag[]" value="18u30-20">
</div></td>
<td width="50"><div align="center">
<input type="checkbox" name="donderdag[]" value="20-21u30">
</div></td>
<td width="50"><div align="center">
<input type="checkbox" name="donderdag[]" value="21u30-23">
De php code is een kant en klaar script, gevonden op het net.
Code:
<?php
/*
Script gemaakt door: Jordi Betting
Script gemod door: Bart Reding
*/
#########################
# Start Configuration #
#########################
$sWebsitenaam = "www.tcdeschakel.be"; //vul hier de naam van jouw website in
$sMail = "[email protected]"; //Het e-mailadres waarnaar de mail word gestuurd. Voor meerdere adressen, scheid de emailadressen met een comma. (je kan ook bv: $naarmail doen, dan moet je wel even dat form maken op je html pagina
$bHTML = TRUE; //Bij TRUE word er een HTML-mail gestuurd. Bij FALSE een plain-text-mail
$sOnderwerp = "Inschrijven"; //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)
$sBedanktfrom = "[email protected]"; //vanaf welk adres moet dit bedankmailtje vestuurd worden?
$sBedanktsubj = "automatisch antwoord"; //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 = "Uw inschrijving is verstuurd!"; //bedankt text
$sBedanktURL = "http://www.tcdeschakel.be/bedankt_inschrijving.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];
$naam = $_POST["naam"];
//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 = "[email protected]";
$bBedanktmail = TRUE;
}
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; }
}
//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: ".$naam." <".$sFrom.">\n";
$headers .= "Reply-to: ".$naam." <".$sFrom.">\n";
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";
$headers2 = "MIME-Version: 1.0\n";
$headers2 .= "From: ".$sBedanktfrom." <".$sBedanktfrom.">\n";
$headers2 .= "Reply-to: ".$naam." <[email protected]>\n";
$headers2 .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";
$sContent = "";
foreach($_POST as $key => $value)
{
if (substr($key,0,1) == 1) { $key = substr($key,1); }
$sContent .= ucfirst(strtolower($key)).": ".$value."\n\n";
}
$enter = "
";
$sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ;
foreach ($aMail as $sMailAdress)
{
mail(trim($sMailAdress),$sSubject,$sContent,$headers);
}
$sBedanktmail = "Beste ".$naam.",
Bedankt voor uw inschrijving. Het werd aan de tornooileiding doorgestuurd.
Gelieve niet te reageren op deze mail.
mvg,
TC de Schakel"; //de tekst van het bedank mailtje
if ($bBedanktmail)
{
$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail) ;
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers2);
}
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 -->
Als ik het goed begrijp, moet ik dus een array maken van de checkboxen
In bovenstaande code staat deze regel
Code:
$aKeys = array_keys($_POST); //pak alle arraykeys in een arraytje
Ik heb het script al uitgebreid met stukjes code, maar geen enkel werkt.
Iemand een oplossing hiervoor?