我使用Codeigniter创建登录系统。 我是CI的新手。 如何阻止直接访问注册。我想确保匿名者在进入注册视图之前必须接受这些条款。
查看控制器
<?php $attr_form = array('class' => 'form-horizontal');
echo form_open('login/accept', $attr_form); ?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<?php echo form_checkbox('terms', 'accept', FALSE); ?>
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<?php
$data_submit = array('class'=> 'btn btn-info', 'name' => 'submit', 'value'=> 'Accept');
echo form_submit($data_submit);?>
</div>
</div>
控制器
function accept ()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('terms', 'required');
if($this->form_validation->run() == TRUE)
{
if ($this->input->post('terms'))
{
redirect('login/signup');
}
else
{
$this->terms();
}
}
}
我应该使用会话库来完成这项工作吗?或任何其他更简单的方法?
感谢
答案 0 :(得分:0)
您可以使用会话变量。但是您可以在用户定义的控制器扩展中编写代码 是CI_Controller。然后使用此用户定义的控制器声明其他控制器。我会 免于为每个控制器单独编写注册码。