3

这是我正在尝试做的事情。

我想要一个带有我的注册表单的主页,每次验证步骤失败时都不会刷新页面。

我希望我的注册表单有 2 个步骤。

第一步注册表单字段和日期下拉列表..当所有这些都成功通过后,它将转发到验证码而不刷新页面,甚至可能弹出验证码。当验证码成功通过后,用户将被注册。

目前,当验证通过时,我的控制器会加载一个视图 submit_success.php..

实现我想要做的最好的方法是什么?

阿贾克斯?Javascript?

有什么codeigniter教程可以指点我吗?

或者你能给我举个例子吗?

4

2 回答 2

2

您可以使用$.ajax或 $.post将 ajax 调用回 CI 进行验证,这样您只需在 CI 中创建验证规则。

这是我发现的一个示例,可以帮助您入门:jquery post codeigniter validation

这是带有 ajax 的验证码的 CodeIgniter 示例: http ://www.99points.info/2010/03/verify-captcha-with-ajax-using-codeignite/

于 2010-09-19T23:42:31.130 回答
0
//html function 
<div id="report"></div>
<form>
username : <input type="text" id="username" />
password : <input type="password" id="password" />
<input type="button" id="submit" onclick="validate();" value="sign in" />
</form>

//javascript function
function validate()
{



                var username = $("#username").val();//get value for username via d username id
                var password = $("#password").val();//get the value for password via d password id






                var url_link = "http://localhost/site_root/controller/blank";
                var reload_url = "http://localhost/site_root/controller/validation_function";
                var form_data = {
                username: username,
                password: password,
                ajax : '1'
                };
                $.ajax({
                url: url_link,
                type: 'POST',
                async : false,
                data: form_data,
                success: function() {

                 $("#report").load(reload_url);


                }
                });
                return false;
}


//controller

<?php if(!defined("BASEPATH")) exit("no direct access allowed");

class Controller extends CI_controller
{

        function  __construct()
        {
        parent::_construct();
        }


        function blank()
        {

        }



        function validate_function()
        {
        $username = $this->input->post->("username");
        $password = $this->input->post->("password");

        /*
        perform db validation if passed redirect user to the ideal url (logged in user page)
        */
        else
        /*
        $this->load-view("wrong_credentials");
        */


        }


}
?>

//wrong_credentials.php view

<?php
echo "wrong user name and password combination . try again";
?>
于 2012-07-10T15:46:42.990 回答