登録フォームにキャプチャを追加しようとしています。セッション変数が常に空であることを除いて、画像は問題なくレンダリングされているため、まったく機能しません。
私は次のクラスを使用しています:http ://www.ejeliot.com/pages/php-captcha
ドキュメントによると、私は次の内容のphpファイルを作成する必要がありました。
<?php
require('classes/PhpCaptcha.php');
$aFonts = array('fonts/VeraBd.ttf', 'fonts/VeraIt.ttf', 'fonts/Vera.ttf');
$oVisualCaptcha = new PhpCaptcha($aFonts, 200, 60);
$oVisualCaptcha->SetBackgroundImages('captchaimgbg.jpg');
$oVisualCaptcha->Create();
?>
そして、これを画像として含めます。
ここで、iveはCreate()を調べました。関数、およびこの関数では、GenerateCode();という名前の別の関数。が呼び出され、文字を生成してセッション変数に入れる役割を果たします。
コードは次のとおりです。
function GenerateCode() {
// reset code
$this->sCode = '';
// loop through and generate the code letter by letter
for ($i = 0; $i < $this->iNumChars; $i++) {
if (count($this->aCharSet) > 0) {
// select random character and add to code string
$this->sCode .= $this->aCharSet[array_rand($this->aCharSet)];
} else {
// select random character and add to code string
$this->sCode .= chr(rand(65, 90));
}
}
// save code in session variable
if ($this->bCaseInsensitive) {
$_SESSION[CAPTCHA_SESSION_ID] = strtoupper($this->sCode);
} else {
$_SESSION[CAPTCHA_SESSION_ID] = $this->sCode;
}
}
CAPTCHA_SESSION_IDは、クラスファイルの先頭で定義されます。私のインデックスにはsession_start();があります。、私はこれを再確認しましたが、それは問題ではありません。
何を試しても、create()に手動で$ _SESSION ['bla'] ='bla'を追加しても、$_SESSIONは常に空です。機能、それは表示されません。
誰かがこれを引き起こしているのか、私が間違っているのかを知っていますか?
ありがとう!