Contactform mailen lukt niet

Status
Niet open voor verdere reacties.

Jan92

Gebruiker
Lid geworden
17 feb 2010
Berichten
111
Hallo,

Ik heb voor mijn website een contact/bestel-formulier aangemaakt (feedbackform.htm) en een bijhorende php-pagina (feedback.php) om de gegevens naar mijn emailadres te mailen maar ik krijg een vreemde foutmelding als ik het test (Ik gebruik Firefox als brownser) Dit is de melding

"De pagina verwijst niet op de juiste manier door.
Firefox heeft vastgesteld dat de server de vraag voor dit adres doorverwijst op een manier die nooit zal eindigen.
Dit probleem kan soms worden veroorzaakt door het uitschakelen of weigeren van cookies."

Ik heb de instellingen van mijn brownser gecontroleerd en dit is zeker niet het geval!
Misschien staat er toch nog een fout in mijn php-pagina ?
Kan iemand mij hierbij helpen ?

Dit is de html code van mijn form

HTML:
<html>
<head>
<title>Feedback Form</title>
<style type="text/css">
<!--
body {font-family:Arial, sans-serif}
-->
</style>
</head>
<body bgcolor="#DEB887">
<form action="feedback.php" method="post">
<h2>BESTELFORMULIER</h2>
<font color ="blue"><label for="tswname">NAAM : &nbsp;</label> <input type="text" name="fullname" id="tswname" size="25" /></font><br />&nbsp;<br />
<font color ="blue"><label for="tswemail">EMAIL : &nbsp;</label> <input type="text" id="tswemail" name="email" size="25" /></font><br />&nbsp;<br />
<font color ="blue"><label for="tswcomments">BESTELLING : &nbsp;</label></font><br />&nbsp;<br />
<textarea rows="10" cols="29" name="comments" id="tswcomments"></textarea>
<br />&nbsp;<br />
<input type="submit" font color="blue" value="VERSTUREN" /></font>
<font color ="blue"><p>Voorbeeld bestelling :</p></font>
<h3>A155,&nbsp;C305 (3x),&nbsp;M220</h3>
</form>
</body>
</html>

En dit is de php code

PHP:
<?php /*

// ------------- CONFIGURABLE SECTION ------------------------

$mailto = 'hier staat mijn echt emailadres' ;
$subject = "Bestelling" ;
$formurl = "feedbackform.htm" ;
$thankyouurl = "succesvol.htm" ;
$errorurl = "errorpage.htm" ;
$want_tel_field = 0;
$want_addr_field = 0;

$email_is_required = 1;
$name_is_required = 1;
$comments_is_required = 1;
$uself = 0;
$forcelf = 0;
$use_envsender = 0;
$use_sendmailfrom = 0;
$smtp_server_win = '' ;
$use_webmaster_email_for_from = 0;
$use_utf8 = 1;
$my_recaptcha_private_key = '' ;

// -------------------- END OF CONFIGURABLE SECTION ---------------

define( 'MAX_LINE_LENGTH', 998 );
$headersep = $uself ? "\n" : "\r\n" ;
$content_nl = $forcelf ? "\n" : (defined('PHP_EOL') ? PHP_EOL : "\n") ;
$content_type = $use_utf8 ? 'Content-Type: text/plain; charset="utf-8"' : 'Content-Type: text/plain; charset="iso-8859-1"' ;
if ($use_sendmailfrom) {
	ini_set( 'sendmail_from', $mailto );
}
if (strlen($smtp_server_win)) {
	ini_set( 'SMTP', $smtp_server_win );
}
$envsender = "-f$mailto" ;
$fullname = isset($_POST['fullname']) ? $_POST['fullname'] : $_POST['name'] ;
$email = $_POST['email'] ;
$comments = $_POST['comments'] ;
$http_referrer = getenv( "HTTP_REFERER" );

if (!isset($_POST['email'])) {
	header( "Location: $formurl" );
	exit ;
}
if (($email_is_required && (empty($email) || !preg_match('/@/', $email))) || ($name_is_required && empty($fullname)) || ($comments_is_required && empty($comments))) {
	header( "Location: $errorurl" );
	exit ;
}
if ( preg_match( "/[\r\n]/", $fullname ) || preg_match( "/[\r\n]/", $email ) ) {
	header( "Location: $errorurl" );
	exit ;
}
/*
if (strlen( $my_recaptcha_private_key )) {
	$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify?' .
							'secret=' . urlencode($my_recaptcha_private_key) . '&' .
							'remoteip=' . urlencode($_SERVER['REMOTE_ADDR']) . '&' .
							'v=' . "php_1.0" . '&' .
							'response=' . urlencode($_POST['g-recaptcha-response']) ;
	$recaptcha_reply = file_get_contents( $recaptcha_url );
	$recaptcha_decoded = json_decode ( $recaptcha_reply, TRUE );
	if ($recaptcha_decoded == NULL || (trim($recaptcha_decoded['success']) != TRUE)) {
		header( "Location: $errorurl" );
		exit ;
	}
}
*/
if (empty($email)) {
	$email = $mailto ;
}
$fromemail = $use_webmaster_email_for_from ? $mailto : $email ;
if (function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc()) {
	$comments = stripslashes( $comments );
}
$opt_flds = $want_addr_field ? wordwrap ( "Address: " . $_POST['addr'] . $content_nl, MAX_LINE_LENGTH, $content_nl, true ) : '' ;
$opt_flds .= $want_tel_field ? wordwrap ( "Telephone: " . $_POST['tel'] . $content_nl, MAX_LINE_LENGTH, $content_nl, true ) : '' ;
$messageproper =
	"This message was sent from:" . $content_nl .
	$http_referrer . $content_nl .
	"------------------------------------------------------------" . $content_nl .
	"Name of sender: $fullname" . $content_nl .
	"Email of sender: $email" . $content_nl .
	$opt_flds .
	"------------------------- COMMENTS -------------------------" . $content_nl . $content_nl .
	wordwrap( $comments, MAX_LINE_LENGTH, $content_nl, true ) . $content_nl . $content_nl .
	"------------------------------------------------------------" . $content_nl ;

$headers =
	"From: \"$fullname\" <$fromemail>" . $headersep . "Reply-To: \"$fullname\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.18.0" .
	$headersep . 'MIME-Version: 1.0' . $headersep . $content_type ;

if ($use_envsender) {
	mail($mailto, $subject, $messageproper, $headers, $envsender );
}
else {
	mail($mailto, $subject, $messageproper, $headers );
}
header( "Location: $thankyouurl" );
exit ;

?>


mvg, Jan
 
Je bent je bewust dat je een hoop regels nu als commentaar hebt ingesteld, waarbij niet je hele script uitgevoerd wordt.?
 
Dag PHP4U

Euh, neen. Ik ben mij van die commentaar regels niet bewust. Ik heb dit script op een-of-andere site gevonden en moest volgens de instructies van de aanbieder enkel het gedeelte in de configuratie sectie aanpassen. Verder heb ik (nog) geen flauw benul van php.
 
Haal op lijn 1 de /* weg, en daarna op lijn 69 de */
 
Oké, heb ik gedaan en opnieuw getest.
Nu krijg ik in de plaats van de bedankingspagina, die normaal verschijnt als alles goed is verlopen, dit in de plaats :

" . $headersep . "Reply-To: "$fullname" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.18.0" . $headersep . 'MIME-Version: 1.0' . $headersep . $content_type ; if ($use_envsender) { mail($mailto, $subject, $messageproper, $headers, $envsender ); } else { mail($mailto, $subject, $messageproper, $headers ); } header( "Location: $thankyouurl" ); exit ; ?>
 
Op lijn 55 staat ook een onnodige commentaar-tag
 
Goed, dit laatste? commentaar opstakel is nu blijkbaar van de baan. Terug getest en nu krijg ik toch al mijn bedankingspagina te zien maar...
Er komen wel nog geen mails binnen!
Nog sugesties? Alvast bedankt voor je hulp. :)
 
Geduld hebben, het kan soms even duren.
Als het echt niet aankomt, dan moet je mogelijk even je mailadres aanpassen naar het mailadres die je voor je domein gebruikt.
En als het echt niet werkt, dan raad ik phpMailer aan als afhandeling. Die kan via Google, SMTP mailen en geeft uitgebreide foutrapporten als het onverhoopt mis gaat.

Enige ervaring in PHP is wel nodig. Zelf sleutel ik ook liever niet in een auto zonder dat ik weet wat ik doe.
 
Oké, ik wacht af... Vandaag moet ik er toch mee stoppen. Ik laat de vraag voorlopig nog op "onopgelost" staan.
 
Dag PHP4U,

Ik heb de laatste dagen wat php-code overlopen van diverse tutorials en heb dan de PHPMailer-FE_v.4.11 gedownload.
Alhoewel in eerste instantie toch nog zeer moeilijk om er aan uit te geraken, is het uiteindelijk toch gelukt om het werkende
te krijgen voor mijn website. Nogmaals bedankt voor je hulp.
:thumb:
mvg.
Jan
 
Fijn dat het gelukt is. Veel plezier ermee! :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan