J'ai un formulaire de contact sur le site qui avait l'habitude de travailler, mais depuis quelques mois a cessé de fonctionner correctement. Cela aurait pu être dû à une erreur de codage que je ne peux pas comprendre. Ce qui se passe, c'est que je reçois les messages envoyés, mais ils sont complètement vides, sans contenu du tout. Quels pourraient être les problèmes?Problème de formulaire de contact - Je reçois des messages, mais pas de contenu (page blanche)
Je joins d'abord la page frontale, puis l'arrière-plan.
Exemple de contact.php le code frontal: -
<div id="content">
<h2 class="newitemsxl">Contact Us</h2>
<div id="contactcontent">
<form method="post" action="contactus.php">
Name:<br />
<input type="text" name="Name" /><br />
Email:<br />
<input type="text" name="replyemail" /><br />
Your message:<br />
<textarea name="comments" cols="40" rows="4"></textarea><br /><br />
<?php require("ClassMathGuard.php"); MathGuard::insertQuestion(); ?><br />
<input type="submit" name="submit" value="Send" />
* Refresh browser for a different question. :-)
</form>
</div>
</div>
Exemple de contactus.php (code back-end): -
<?php
/* first we need to require our MathGuard class */
require ("ClassMathGuard.php");
/* this condition checks the user input. Don't change the condition, just the body within the curly braces */
if (MathGuard :: checkResult($_REQUEST['mathguard_answer'], $_REQUEST['mathguard_code'])) {
$mailto="[email protected]";
$pcount=0;
$gcount=0;
$subject = "A Stylish Goods Enquiry";
$from="[email protected]";
echo ("Great, you're message has been sent !"); //insert your code that will be executed when user enters the correct answer
} else {
echo ("Sorry, wrong answer, please go back and try again !"); //insert your code which tells the user he is spamming your website
}
while (list($key,$val)=each($HTTP_POST_VARS))
{
$pstr = $pstr."$key : $val \n ";
++$pcount;
}
while (list($key,$val)=each($HTTP_GET_VARS))
{
$gstr = $gstr."$key : $val \n ";
++$gcount;
}
if ($pcount > $gcount)
{
$comments=$pstr;
mail($mailto,$subject,$comments,"From:".$from);
}
else
{
$comments=$gstr;
mail($mailto,$subject,$comments,"From:".$from);
}
?>
Donc là où il est écrit: - '$ HTTP_POST_VARS', je devrais remplacer par '$ _POST' et partout où il est wriiten '$ HTTP_GET_VARS', je devrais remplacer par '$ _OBTENIR'? – nitbuntu
oui, c'est vrai ... – Pentium10