CodeIgniter, Smarty和Form Helper.提交错误的链接


CodeIgniter, Smarty and Form Helper. Wrong Link on Submit

我使用CodeIgniter Form Helper和Smarty有一个小问题。

我使用了这个(https://github.com/EllisLab/CodeIgniter/wiki/Form-helper-with-Smarty)表单帮助函数。

现在我有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()函数时,总是显示"用户不能创建"。第二个问题是,由表单submit生成的url就像这样"http://dev.url.de/admin/addUser/dev.url.de/pageadmin/addUser"。

显然你的形式是失败的,但你没有返回为什么它失败。将代码修改如下,这将告诉您在哪里查找未通过验证的代码:

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'}
相关文章: