2012-03-20 12 views
1

私はPHPの初心者です。私は実際に私の論文のために必要とする視覚刺激のための調査プラットフォームをカスタマイズしたいと思っています。この調査プラットフォームの元のバージョンでは、参加者にメールアドレスを入力してログインし、利用可能なテストが表示されます。私が理解する限り、コードは、メールアドレスがデータベースに既に保存されているかどうかをチェックし、そうでない場合は、(メールアドレスを識別子として使用して)それぞれの参加者に特定の数の刺激を予約します。この数の刺激は、その後のテストからブロックされます。しかし、これは問題に提起:phpフォームの妥当性検査 - メールアドレスの代わりにメールアドレスと乱数の代わりにpseudopasswordをメールアドレスの代わりにユニークな識別子として

1)参加者は一度だけ 2に参加することができます)参加者は全体の事は非常に洗練されたである必要はありません彼らの匿名性

を放棄しなければなりません。参加者が「匿名」という単語でログインしてから、ある数の刺激がメールアドレスではなく、自動的に生成された識別子としての固有の乱数によって確保されている場合には、利用可能なテストになります。

私は、コードの重要な行は以下の通りだと思い

/** 
* Lets user login. Stores new e-mail addresses if not yet in database. 
*/ 
function login() { 

    $this->validation->set_error_delimiters('<div class="error">', '</div>'); 
    $this->validation->set_message('required', $this->lang->line("validation_error_validemail_required")); 
    $this->validation->set_message('valid_email', $this->lang->line("validation_error_validemail_required")); 

    // check if valid e-mail address 
    //required|valid_email 
    $rules['email'] = "required|valid_email"; 
    $this->validation->set_rules($rules); 

    $fields['email'] = $this->lang->line("frontend_user_email"); 
    $this->validation->set_fields($fields); 


    if ($this->validation->run() == FALSE) { 
     $this->load->view('welcome_message'); // reload form 


    } else { 

     $this->load->model("testcontainer_model", 'testcontainer'); 
     $this->data['testcontainer']->activeuser = $this->data['testcontainer']->getUserByEmail($_POST['email']); 

     $this->load->view('welcome_message', $this->data); 
    } 

} 


/** 
* Logout user, unset session data. 
*/ 
function logout() { 
    $this->session->unset_userdata('user_email'); 
    $this->session->unset_userdata('user_id'); 
    $this->session->unset_userdata('albumpath_relative'); 
    $this->session->unset_userdata('test_name'); 
    $this->session->unset_userdata('test_id'); 
    $this->load->view('welcome_message'); 
} 

あなたは私が欲しい欲しいものを得るために、このコードを変更することを助けるためにとてもいいことしてくださいだろうか?私はあらゆる助けに感謝しています!

敬具、

アンドレアスは、CIで

+0

あなたはドキュメントを見ましたか?フォームの検証に多くの情報があります。 – bottleboot

+0

これはまさに私の問題です。私はこのトピックの情報の大部分に完全に圧倒されています。問題は私の論文に必要なことであり、PHPは絶対に私の話題ではありません。だから、私はこのクエストを誰かが私にヒントを与えることができるという希望でここに頼んだ。 – chameau13

答えて

関連する問題