我使用CodeIgniter Form Helper和Smarty时遇到了问题。
我使用了这个(https://github.com/EllisLab/CodeIgniter/wiki/Form-helper-with-Smarty)表单助手函数。
现在我在Controller中有了addUser()函数
public function addUser(){
$this->load->helper('form');
$this->form_validation->set_rules('username', 'Benutzername', 'trim|required|min_length[4]|xss_clean');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');
$this->form_validation->set_rules('password', 'Passwort', 'trim|required|min_length[4]|max_length[32]');
$this->form_validation->set_rules('con_password', 'Passwort bestätigen', 'trim|required|matches[password]');
if($this->form_validation->run() == FALSE){
echo "Error! User can not create";
}else{
$this->user_model->add_user();
echo "Done!";
}
$this->smarty->display($this->tpl);
}
以下.TPL我用过
{form url='pageadmin/addUser'}
<p>
<label for="username">User Name:</label>
<input type="text" id="username" name="user_name" />
</p>
<p>
<label for="email_address">Your Email:</label>
<input type="text" id="email" name="email_address" />
</p>
<p>
<label for="password">Password:</label>
<input type="password" id="password" name="password" />
</p>
<p>
<label for="con_password">Confirm Password:</label>
<input type="password" id="con_password" name="con_password" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
{form}
但现在,当我尝试这个。我有两个问题。第一个是,当我调用函数addUser()时,显示消息“错误!用户无法创建”。第二个问题是,通过表单提交生成的网址就像这个“http://dev.url.de/admin/addUser/dev.url.de/pageadmin/addUser”。
非常感谢你,抱歉我的英语不好......
答案 0 :(得分:0)
显然你的表格失败但是你没有回来为什么它失败了。如下所示更改您的代码,这将告诉您在哪里查找未通过验证的内容:
if($this->form_validation->run() == FALSE){
echo validation_errors();
}else{
验证错误会告诉您哪些规则是问题,然后您可以继续从那里进行故障排除。
至于URL只是因为相对URL,我不使用Smarty所以不确定如何使用base_url(),但以下“可能”工作
{form url=base_url().'pageadmin/addUser'}
如果这不起作用,应该:
{form url='../pageadmin/addUser'}