I need help with this Captcha code. when I try it, all I get is code,
starting with
"captcha_varname='$captcha_var_name';" through "?>"
It's like my Php wasn't working but I've confirmed it is. I'm hoping
someone will tell me why. Following is my code COPIED FROM ONLINE:
<?PHP
// simple-captcha.php
class FGSimpleCaptcha extends FG_CaptchaHandler;
{
var $error_str;
var $captcha_varname;
var $uniquekey;
function FGSimpleCaptcha($captcha_var_name)
{
$this->captcha_varname='$captcha_var_name'; // ?
$this->uniquekey='abc12fghijkl34mno;
}
/*Add more simple questions here.*/
function GetSimpleCaptcha()
{
$arrQuestions = array(
"Which of sock, library, cake or red is a color? "=>"red",
"Enter the number thirteen thousand three hundred and sixty eight in
digits: "=>"13,368");
$question = array_rand($arrQuestions);
$answer = $arrQuestions[$question];
$_SESSION['FGCF_Captcha_Answer'] = $this->Md5CaptchaAnswer
($answer);
return $question;
}
function SetFormKey($key)
{ $this->uniquekey = $key; }
function GetKey()
{ return $this->uniquekey; }
function Validate()
{
$ret=false;
if(empty($_POST[$this->captcha_varname]))
{
$this->error_str = "Please answer the anti-spam question";
$ret = false;
}
else
{
$scaptcha = trim($_POST[$this->captcha_varname]);
$scaptcha = strtolower($scaptcha);
$user_answer = $this->Md5CaptchaAnswer($scaptcha);
if($user_answer != $_SESSION['FGCF_Captcha_Answer'])
{
$this->error_str = "Failed the anti-spam check!";
$ret = false;
}
else
{ $ret = true; }
}
//else
return $ret;
}
function Md5CaptchaAnswer($answer)
{ return md5($this->GetKey().$answer); }
function GetError()
{ return $this->error_str; }
}
?>