2012-01-11 13 views
0

私はcodeigniterを使っていますが、captchaに大文字と小文字が混在していればcaptchaに有効なデータを入れたいと思っています。phpの大文字で大文字でチェックしてください

私はそれを試しましたが、大文字と小文字はチェックされません。どのように修正できますか?

私のキャプチャ画像のようにある:dAwVJ

//$cap = $this->input->post('captcha'); 
$cap = 'dAwVJ';// if i change this to dawvj return(output) is true, i don't want this 

// Then see if a captcha exists:  
$sql = "SELECT COUNT(*) AS count FROM captcha WHERE word = ? AND ip_address = ? AND captcha_time > ?"; 
$binds = array(
    $cap, 
    $this->input->ip_address(), 
    $expiration 
); 
$query = $this->db->query($sql, $binds); 
$row = $query->row(); 

if ($row->count == 0) { 
    return false; 
} else { 
    return true; 
} 
+0

Iは大文字と小文字を区別した方法でCAPTCHAのためにチェックすることがnobodyとしてveeeeryユーザー非友好的だと思いますあなたのキャプチャは非常に読みやすいです(例えば、すべての文字が同じサイズです)。それにもかかわらず無駄です;) – bardiir

+0

データベース照合が_ciで終わらないことを確認しましたか?これは、 SQLチェックは大文字と小文字を区別しません – Rooneyl

答えて

0
$sql = "SELECT COUNT(*) AS count FROM captcha WHERE BINARY word = ? AND ip_address = ? AND captcha_time > ?"; 
1

は、このSQLを試してみてください。

$sql = "SELECT COUNT(*) AS count FROM captcha WHERE binary word = ? AND ip_address = ? AND captcha_time > ?"; 
1

はMySQLで大文字と小文字を区別し、文字列の比較を意味ですか?あなたはCodeIgniterのを使用しているので、これは有用である可能性があるWHERE word like binary ?

::私はそれがこのようなものになるだろうと思いますmysql, case sensitive compare through codeigniter

関連する問題