Contactformulier geeft foutmelding

Status
Niet open voor verdere reacties.

Rens1960

Nieuwe gebruiker
Lid geworden
17 feb 2011
Berichten
3
Hallo,

Ik ben nieuw hier en heb niet al te veel verstand van php.

Ik beheer sinds kort een website en daar hoorde ook een contactformulier bij dat sterk verouderd was. Dat is aangepast en heeft geen verplichte velden, wel captcha.

Als ik het contactformulier via de website aanroep krijg ik de volgende foutmelding:

"Het formulier is niet verstuurd. probeer het nogmaals."

Misschien wil iemand even naar het script kijken en controleren op fouten en deze vermelden. Ik ben heel erg dankbaar dan, want ik ben nu al vanaf half januari bezig en kom er gewoon niet achter.

Vriendelijke groet
Rens

Index.php

code (php)

?PHP

define('kOptional', true);
define('kMandatory', false);

error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('track_errors', true);

function CaptchaGenerator() {

if ( (!function_exists('imagejpeg')) && (!function_exists('imagepng')) ) {
exit;
}

$im = imagecreate(100,40);

$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
$gray = imagecolorallocate($im, 150, 150, 150);

imagerectangle($im, 0, 0, 25, 39, $gray);
imagerectangle($im, 25, 0, 50, 39, $gray);
imagerectangle($im, 50, 0, 75, 39, $gray);
imagerectangle($im, 75, 0, 99, 39, $gray);

imageline($im, 0, 0, 25, 39, $gray);
imageline($im, 25, 0, 50, 39, $gray);
imageline($im, 50, 0, 75, 39, $gray);
imageline($im, 75, 0, 99, 39, $gray);

imageline($im, 0, 39, 25, 0, $gray);
imageline($im, 25, 39, 50, 0, $gray);
imageline($im, 50, 39, 75, 0, $gray);
imageline($im, 75, 39, 99, 0, $gray);

$c1 = rand(65, 90);
$c2 = rand(65, 90);
$c3 = rand(65, 90);
$c4 = rand(65, 90);
$c5 = rand(65, 90);

$textOut = chr($c1) . ' ' . chr($c2) . ' ' . chr($c3) . ' ' . chr($c4) . ' ' . chr($c5);
$textCaptcha = chr($c1) . chr($c2) . chr($c3) . chr($c4) . chr($c5);

$a = imagestring($im, 5, 11, 13, $textOut, $black);

$fileName = substr(md5($textCaptcha), 0, 12);

$captchaDir = '../captchabestanden/';

if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory &quot;../captchabestanden&quot; niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}

if ( !is_writable( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory &quot;../captchabestanden&quot; is niet beschrijfbaar. Script zal nu stoppen.</body></html>';
exit;
}

$handle = opendir( $captchaDir );

while ( $captchaFile = readdir($handle) ) {
if ( ( substr($captchaFile, 0, 1) != '.' ) && ( substr($captchaFile, 0, 1) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( ( filemtime( '../captchabestanden/' . '/' . $captchaFile ) + 300 ) < time() ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
}
}
}

closedir( $handle );

$handle = @fopen( '../captchabestanden/' . '/' . $fileName, 'w' );

if ( !$handle ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: het is onmogelijk gebleken om een captcha controle bestand te maken. Script zal nu stoppen.</body></html>';
exit;
}

fclose($handle);

if (imagetypes() & IMG_JPG) {
header('Content-type: image/jpeg');
imagejpeg($im);
} elseif (imagetypes() & IMG_PNG) {
header('Content-type: image/png');
imagepng($im);
}
exit;

}

function DoStripSlashes($fieldValue) {
if ( get_magic_quotes_gpc() ) {
if (is_array($fieldValue) ) {
return array_map('DoStripSlashes', $fieldValue);
} else {
return stripslashes($fieldValue);
}
} else {
return $fieldValue;
}
}

function FilterCChars($theString) {
return preg_replace('/[\x00-\x1F]/', '', $theString);
}

function CheckFTGCaptcha($accessCode) {

$captchaDir = '../captchabestanden/';

if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory &quot;../captchabestanden&quot; niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}

$handle = opendir( $captchaDir );

$fileAccessCode = substr( md5( $accessCode ), 0, 12 );

while ( $captchaFile = readdir( $handle ) ) {
if ( substr( $captchaFile, 0, 1 ) != '.' ) {
if ( $fileAccessCode == $captchaFile ) {
return true;
}
}
}
return false;
}

function DeleteCaptcha($accessCode) {

$captchaDir = '../captchabestanden/';

if ( !is_dir( $captchaDir ) ) {
echo '<html><head><title>Error</title></head><body>Access Code Validatie Error: directory &quot;../captchabestanden&quot; niet gevonden. Script zal nu stoppen.</body></html>';
exit;
}

$handle = opendir( $captchaDir );

$fileAccessCode = substr( md5( $accessCode ), 0, 12 );

while ( $captchaFile = readdir( $handle ) ) {
if ( ( substr( $captchaFile, 0, 1 ) != '.' ) && ( substr( $captchaFile, 0, 1 ) != '_' ) && ( !is_dir( '../captchabestanden/' . '/' . $captchaFile ) ) ) {
if ( $fileAccessCode == $captchaFile ) {
unlink( '../captchabestanden/' . '/' . $captchaFile );
return;
}
}
}

}

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$clientIP = $_SERVER['REMOTE_ADDR'];
}

if ( isset($_REQUEST['captchaimage']) ) {
CaptchaGenerator();
exit;
}

$FTGvoornaam = DoStripSlashes( $_POST['voornaam'] );
$FTGachternaam = DoStripSlashes( $_POST['achternaam'] );
$FTGadres = DoStripSlashes( $_POST['adres'] );
$FTGpostcodewoonplaats = DoStripSlashes( $_POST['postcodewoonplaats'] );
$FTGtelefoonnummer = DoStripSlashes( $_POST['telefoonnummer'] );
$FTGemailadres = DoStripSlashes( $_POST['emailadres'] );
$FTGopmerkingen = DoStripSlashes( $_POST['opmerkingen'] );
$FTGbeveiliging = DoStripSlashes( $_POST['beveiliging'] );
$FTGverzenden = DoStripSlashes( $_POST['verzenden'] );

$validationFailed = false;

if (!CheckFTGCaptcha($FTGbeveiliging)) {
$FTGErrorMessage['beveiliging'] = '';
$validationFailed = true;
}

if ($validationFailed === true) {

$errorPage = '<html><head><title>Error</title></head><body>Het formulier is niet verstuurd. probeer het nogmaals.</body></html>';

$errorPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $errorPage);
$errorPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $errorPage);

$errorList = @implode("<br />\n", $FTGErrorMessage);
$errorPage = str_replace('<!--VALIDATIONERROR-->', $errorList, $errorPage);

echo $errorPage;

}

if ( $validationFailed === false ) {

$emailSubject = FilterCChars("Hier komt de titel van de e-mail die je zelf krijgt.");

$emailBody = "Voornaam : $FTGvoornaam\n"
. "Achternaam : $FTGachternaam\n"
. "Adres : $FTGadres\n"
. "Postcode + woonplaats : $FTGpostcodewoonplaats\n"
. "Telefoonnummer : $FTGtelefoonnummer\n"
. "E-mailadres : $FTGemailadres\n"
. "Opmerkingen : $FTGopmerkingen";
$emailTo = 'jouw naam <mail@mijnemail.nl>';

$emailFrom = FilterCChars("mail@mijnemail.nl");

$emailHeader = "From: $emailFrom\n"
. "MIME-Version: 1.0\n"
. "Content-type: text/plain; charset=\"ISO-8859-1\"\n"
. "Content-transfer-encoding: 7bit\n";

mail($emailTo, $emailSubject, $emailBody, $emailHeader);

DeleteCaptcha($FTGbeveiliging);

$successPage = '<html><head><title>Success</title></head><body>Het formulier is succesvol verstuurd.</body></html>';

$successPage = str_replace('<!--FIELDVALUE:voornaam-->', $FTGvoornaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:achternaam-->', $FTGachternaam, $successPage);
$successPage = str_replace('<!--FIELDVALUE:adres-->', $FTGadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:postcodewoonplaats-->', $FTGpostcodewoonplaats, $successPage);
$successPage = str_replace('<!--FIELDVALUE:telefoonnummer-->', $FTGtelefoonnummer, $successPage);
$successPage = str_replace('<!--FIELDVALUE:emailadres-->', $FTGemailadres, $successPage);
$successPage = str_replace('<!--FIELDVALUE:opmerkingen-->', $FTGopmerkingen, $successPage);
$successPage = str_replace('<!--FIELDVALUE:beveiliging-->', $FTGbeveiliging, $successPage);
$successPage = str_replace('<!--FIELDVALUE:verzenden-->', $FTGverzenden, $successPage);

echo $successPage;

}

?>


metspambeveiliging.html

code(html)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>contactformulier HD-Assendelft</title>
<style type="text/css">
<!--
-->
</style>
</head>

<body>
<form id="contactformulier" name="contactformulier" method="post" action="formulier/contactformulier.php">
<table width="614" border="0" align="center">
<tr>
<td colspan="2"><h4><span class="style1">Contactformulier HD-Assendelft</span></h4></td>
</tr>
<tr>
<td>Voornaam:</td>
<td><label>
<input type="text" name="voornaam" id="voornaam" />
</label></td>
</tr>
<tr>
<td>Achternaam:</td>
<td><label>
<input type="text" name="achternaam" id="achternaam" />
</label></td>
</tr>
<tr>
<td>Adres:</td>
<td><label>
<input type="text" name="adres" id="adres" />
</label></td>
</tr>
<tr>
<td>Postcode + woonplaats:</td>
<td><label>
<input type="text" name="postcodewoonplaats" id="postcodewoonplaats" />
</label></td>
</tr>
<tr>
<td>Telefoonnummer:</td>
<td><label>
<input type="text" name="telefoonnummer" id="telefoonnummer" />
</label></td>
</tr>
<tr>
<td>E-mailadres:</td>
<td><label>
<input type="text" name="emailadres" id="emailadres" />
</label></td>
</tr>
<tr>
<td>Opmerkingen</td>
<td><label>
<textarea name="opmerkingen" id="opmerkingen" cols="45" rows="5"></textarea>
</label></td>
</tr>
<tr>
<td>Captcha - <img src="http://www.mijnwebsite.nl/formulier/contactformulier.php?captchaimage=yes" /></td>
<td><label>
<input type="text" name="beveiliging" id="beveiliging" />
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="verzenden" id="verzenden" value="verzenden" /></td>
</tr>
</table>
</form>
</body>
</html>
 
als je gewoon alleen de mail functie uivoert, wordt er dan wel een mail verzonden?
Want als die wel verzonden worden, dan moet je na elke if/else een echo doen, dat je kunt zien welke stappen er wel of niet gedaan worden.

Op die manier krijg je meer inzicht waar het misgaat
 
als je gewoon alleen de mail functie uivoert, wordt er dan wel een mail verzonden?
Want als die wel verzonden worden, dan moet je na elke if/else een echo doen, dat je kunt zien welke stappen er wel of niet gedaan worden.

Op die manier krijg je meer inzicht waar het misgaat


Als je genoeg verstand hebt van php zou dat inderdaad een optie zijn. Ben net begonnen met het lezen van eerste hoodstukken van zowel, php, html en css. Ik snap de bedoeling en waarom soms iets moet, maar om nu te zeggen dat me alles helder is nee, nog niet, sorry Phobia

Ik doe mijn best, daarom vroeg ik ook om fouten te vermelden na het controleren van het script, zodat ik verder kan zoeken en proberen het op te lossen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan