我完全是php初学者。实际上,我想为我的需求定制一个视觉刺激的调查平台,因为我的论文需要这个平台。该调查平台的原始版本要求参与者输入他们的邮件地址以登录,然后他们就会看到可用的测试。据我所知,该代码检查邮件地址是否已经保存在数据库中,如果没有,则为各个参与者保留一定数量的激励(使用他们的邮件地址作为标识符)。这一数量的刺激将被阻止进行进一步的测试。然而,这带来了问题:
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');
}
你能帮我修改这个代码以获得我想要的吗?我感谢你的每一次帮助!
致问候,
Andreas