这就是我想要做的。
我想有一个我的注册表单的主页,不会刷新每次验证步骤失败的页面。
我想我的注册表有2个步骤。
第一步注册表单字段和日期下拉列表..当所有这些都成功通过后,它会在不刷新页面的情况下转发到验证码,甚至可能会弹出验证码。当验证码成功通过时,用户将被注册。
目前,当验证通过时,我的控制器加载一个视图submit_success.php。
实现我想要做的事情的最好方法是什么?
Ajax?Javascript?
有没有什么codeigniter教程可以指给我看?
或者你能给我举个例子吗?
发布于 2010-09-20 07:42:31
您可以使用$.ajax或$.post回调CI进行验证,这样您只需在CI中创建验证规则。
下面是我找到的一个示例,可以帮助您入门:jquery post codeigniter validation
下面是一个使用ajax的验证码的CodeIgniter示例:http://www.99points.info/2010/03/verify-captcha-with-ajax-using-codeignite/
发布于 2012-07-10 23:46:43
//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";
?>https://stackoverflow.com/questions/3747731
复制相似问题