私はユーザー登録フォームに取り組んでいます。ユーザーがシステムにまだ登録されていない電子メールアドレスを持っている必要があるようにしようとしています。
is_unique
すべてのメール アドレス データが Base64 エンコード形式で保存されており、クエリがエンコードされていない形式で送信されているため、関数が機能していないと思います。
コントローラーとモデルで適切と思われる部分を微調整しようとしましたが、最終的にエラーが発生します。
これが私のコントローラーの機能です:
function check_physician_email($physician_email){
$physician_email_check=$this->model_site->get_single_record( 'physicians', 'email', $physician_email );
if($physician_email_check){
$this->form_validation->set_message('check_physician_email', 'The %s is already taken!');
return FALSE;
}
else {
return TRUE;
}
}
このモデルの使用:
function get_single_record( $table_name, $primary_key_name, $primary_key_val ) { //get a record with a given condition from table
$query = $this->db->get_where($table_name, array( $primary_key_name => $primary_key_val));
if( $query->num_rows() > 0 ) {
return $query->row_array();
}
else {
return false;
}
} //end get_single_record
それがうまくいかなかったとき、私はそれを指し始め、モデルget_email_record
で次のいくつかのバリエーションを試しました:
function get_email_record( $table_name, $primary_key_name, $primary_key_val ) { //get a record with a given condition from table
$query = $this->db->get_where('physicians', array( encode_decode($_REQUEST['email'], 'decode') => $primary_key_val));
if( $query->num_rows() > 0 ) {
return $query->row_array();
}
else {
return false;
}
} //end get_email_record
それはちょうどにつながるencode_decode error
:
Error Number: 1300
Invalid utf8 character string: '\xB2\xB6\xACr\x19\xDA\xB5\xB8\xA8r\x8A\xE9r\x89'
SELECT * FROM (`physicians`) WHERE `²¶¬rÚµ¸¨rŠér‰` = 'user@email.com'
Filename: /usr/sites/phototherapydoctor.com/www/html/models/model_site.php
Line Number: 92
そして、モデルでこれを行うと:
function get_email_record( $table_name, $primary_key_name, $primary_key_val ) { //get a record with a given condition from table
$query = $this->db->get_where('physicians', array( 'email' => encode_decode($_REQUEST[$primary_key_val],'encode')));
if( $query->num_rows() > 0 ) {
return $query->row_array();
}
else {
return false;
}
} //end get_email_record
私はこれを得るUndefined index error
:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: user@email.com
Filename: models/model_site.php
Line Number: 92