Archief - PHP: Formulier geeft steeds error

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

XA4

Legacy Member
Zoals ik hier al eens heb geschreven, ben ik sinds kort dus begonnen met het aanleren van xhtml en css.
Nu heb ik daar dit weekend iets in gemaakt (is nog niet af, menu moet nog veranderd worden, etc. Als het af is, laat ik de volledige code eventueel nog wel checken op site-check) maar mijn formulier wil blijkbaar niet mee.

Ik heb de nodige code gecopieerd uit een reeds bestaand werkend formulier (maar is van site die was opgebouwd uit tables en frames :$ dus heb wat moeten knippen en plakken) maar nu blijf ik steeds een error krijgen.
Melding: ERROR - not sent. Try again.
(regel in php-script: $error_msg='ERROR - not sent. Try again.'; )

Aangezien die regel in het php-document staat, kan hij dat volgens mij lezen en staat in die php dus de fout. Of is mijn veronderstelling fout?

Het formulier staat hier:
http://www.vitalia-shop.be/g5/contact.html
(is een forward, om broncode te zien: http://www.artlab.be/vitalia/g5/contact.html)

PHP-code:
Code:
<?php
$valid_ref1="http://www.vitalia-shop.be/g5/contact.html";
$valid_ref2="http://www.vitalia-shop.be/g5/contact.html";
$replyemail="[email protected]";

//clean input in case of header injection attempts!
function clean_input_4email($value, $check_all_patterns = true)
{
 $patterns[0] = '/content-type:/';
 $patterns[1] = '/to:/';
 $patterns[2] = '/cc:/';
 $patterns[3] = '/bcc:/';
 if ($check_all_patterns)
 {
  $patterns[4] = '/\r/';
  $patterns[5] = '/\n/';
  $patterns[6] = '/%0a/';
  $patterns[7] = '/%0d/';
 }
 return preg_replace($patterns, "", strtolower($value));
}

$name = clean_input_4email($_POST["name"]);
$email = clean_input_4email($_POST["email"]);
$street = clean_input_4email($_POST["street"]);
$number = clean_input_4email($_POST["number"]);
$code = clean_input_4email($_POST["code"]);
$city = clean_input_4email($_POST["city"]);
$thesubject = clean_input_4email($_POST["thesubject"]);
$themessage = clean_input_4email($_POST["themessage"], false);

$error_msg='ERROR - not sent. Try again.';
 
$success_sent_msg='<p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Uw bestelling/bericht werd goed naar ons verzonden</font></p>
                   <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Een kopie van uw bericht werd ook naar u verstuurd.</font></p>
                   <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Bedankt voor uw bestelling/bericht.</font></p>';

$replymessage = "Beste $name

Bedankt voor uw bestelling/bericht.

Wij trachten uw bestelling/bericht zo spoedig mogelijk te behandelen.

Dit is een automatische e-mail, beantwoord dit bericht dus niet.

Hieronder vindt u de details van uw mail:
--------------------------------------------------
Onderwerp: $thesubject
Bericht:
$themessage
--------------------------------------------------

Bedankt, Vitalia";

// email variable not set - load $valid_ref1 page
if (!isset($_POST['email']))
{
 echo "<script language=\"JavaScript\"><!--\n ";
 echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
 exit;
}

$ref_page=$_SERVER["HTTP_REFERER"];
$valid_referrer=0;
if($ref_page==$valid_ref1) $valid_referrer=1;
elseif($ref_page==$valid_ref2) $valid_referrer=1;
if(!$valid_referrer)
{
 echo "<script language=\"JavaScript\"><!--\n alert(\"$error_msg\");\n";
 echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
 exit;
}
$themessage = "Naam: $name \nE-mail: $email \nStraat: n$straat Nummer: n$nr \nPostcode: n$code Woonplaats: n$city \nBestelling/bericht: \n$themessage";
mail("$replyemail",
     "$straat",
     "$nr",
     "$code",
     "$city",
     "$thesubject",
     "$themessage",
     "From: $email\nReply-To: $email");
mail("$email",
     "Receipt: $thesubject",
     "$replymessage",
     "From: $replyemail\nReply-To: $replyemail");
echo $success_sent_msg;
?>

DicE

Legacy Member
'k weet niet of het dat nu juist kan zijn, maar je definieert de variabele $replymessage met dubbele quotes "
en daar na gebruik je in je mail() functie onderaan terug dubbele " quotes om die variabele te omringing (omdat't 'n string is. Misschien kan je die string toewijzing van $replymessage met single quotes doen (zoals je met andere gedaan hebt)?

my 2 cents...
DicE
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan