如何创建Codeigniter非页面刷新注册表格?
-
04-10-2019 - |
题
这是我想做的。
我想拥有一个主页,其中有我的注册表格,每次验证步骤都不会刷新页面。
我希望我的注册表格有2个步骤。
第一步注册表单字段和日期下拉。当验证码成功通过时,将注册用户。
当前验证通过时,我的控制器加载一个视图submit_success.php。
实现我要做的事情的最佳方法是什么?
ajax? JavaScript?
您可以指出我的代码签名人教程吗?
还是您可以给我一个例子?
解决方案
您可以将Ajax调用回CI进行验证 $ .ajax 或$ .post,这样,您只需在CI中创建验证规则即可。
这是我发现让您入门的示例: jQuery Post CodeIgniter验证
这是带有Ajax的CAPTCHA的代码签名示例:http://www.99points.info/2010/03/verify-captcha-with-ajax-using-codeignite/
其他提示
//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";
?>
不隶属于 StackOverflow