L.S.

Ik ben bezig met het maken van een formtomail script in PHP. Het werkt eigenlijk heel goed, maar als ik in een textarea zelf enters invoeg (bv in een adres:

Jan janssens
jandreef 4
5434 VV Tilburg)

Dan krijg ik een "Internal Server Error".

Heeft iemand een idee hoe ik dat probleem oplos?

MVGR

Werni
Raar.....
wat is je script? voor een voorbeeld zoek bij scripts op 'contactformulier' en gij zult vinden..
Hieronder staat mijn script: Hij ontvangt de gegevens van een html bestand waar de tekstarea er als volgt uitziet:

<TEXTAREA NAME="performance" ROWS=4 COLS=53></TEXTAREA>

Met vriendelijke groet

Werni

<?php
if ($_SERVER['REQUEST_METHOD']=="POST"){
if (strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])>7 ||
!strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']))
die("Bad referer");
$msg="Values submitted by the user:\n";
$email=$_POST['email'];
foreach($_POST as $key => $val){
if (is_array($val)){
$msg.="Item: $key\n";
foreach($val as $v){
$v = stripslashes($v);
$msg.="   $v\n";
}
} else {
$val = stripslashes($val);
$msg.="$key: $val\n";
}
}
$recipient="[email protected]";
$subject="Form submission";
error_reporting(0);
if (mail($recipient, $subject, $msg, "From: $email\n")){
echo "<h1>Thank you</h1><p>Message successfully sent:</p>\n";
echo nl2br($msg);
} else
echo "An error occurred and the message could not be sent.";
} else
echo "Bad request method";
?>
Uit verder testen is mij nu gebleken, dat tekens als "é ë õ etc" hetzelfde probleem oplevert.

De server kan dus niet omgaan met speciale tekens, waartoe de enter dan ook gerekend wordt.

Hoe kan ik die tekens omzetten naar normale tekens?
probeers een:

$msg = htmlentities($msg);
Daar was ik inderdaad ook al opgekomen, maar dat werkt helaas niet.
Krijg je verder geen foutmeldingen?

Zet dan eens error_reporting(E_ALL); bovenaan, misschien krijg je dan wel een duidelijk error
Om dit verhaal af te maken: de fout zit niet in het script, maar bij de server die de website host.

Die staat bepaalde ASCII tekens om veiligheidsredenen niet toe, maar dat is veel te strikt ingesteld.

Als het goed is wordt het nu aangepast.

Groet
Das een mooi verhaal dat je dan niet eens een Enter mag gebruiken.. damn.. :)

Elwin
Ja,

Ik ben er ook geirriteerd door geraakt, maar dan krijg je zo'n beveiligingsverhaal en het is al zovaak fout gegaan dus we gooien alles maar dicht blablabla. Mijn enter werkt nu wel, maar é enzovoorts nog steeds niet, ik moet nog even zeuren voor hij dat open zet.

Reageren