2012-03-20 31 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'); 
} 

請你多好啊,幫我修改這個代碼來得到我想要的想要的嗎?我很感激每一個幫助!

最好的問候,

安德烈亞斯

+0

你看過文檔嗎?有很多關於表單驗證的信息 – bottleboot 2012-03-20 15:17:58

+0

這正是我的問題 - 我完全被這個主題的大量信息所淹沒。問題是我需要這個爲我的論文和PHP是絕對不是我的話題。所以我在這裏問了這個問題,希望有人能給我一個提示...... – chameau13 2012-03-20 15:25:30

回答

相關問題