Как создать Codeigniter Non Page Освежающая форма регистрации?
-
04-10-2019 - |
Вопрос
Вот что я пытаюсь сделать.
Я хочу иметь домашнюю страницу с моей формой регистрации, которая не обновляет страницу каждый раз, когда шаг проверки не удается.
Я хочу, чтобы моя форма регистрации будет 2 шага.
Поля формы регистрации 1-го шага и выпадают дату. Когда все это передается успешно, то он будет переслан на CAPTCHA без обновления страницы или, возможно, даже всплывающую с помощью CAPTCHA. Когда CAPTCHA успешно прошел, пользователь будет зарегистрирован.
В настоящее время при прохождении валидации мой контроллер загружает представление apt_success.php ..
Какой лучший способ достичь того, что я пытаюсь сделать?
Ajax? JavaScript?
Есть ли какие-нибудь учебники Codeigniter, вы можете указать мне?
Или вы сможете дать мне пример?
Решение
Вы можете сделать вызовы AJAX обратно в CI для проверки, используя $ .ajax. Или $ .post, таким образом, вам нужно только создать ваши правила проверки в CI.
Вот пример, который я нашел, чтобы начать: Валидация записи почты jQuery
А вот пример кодовой связи CAPTCHA с Ajax:http://www.99points.info/2010/03/verify-captcha-with-ajax-uss-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";
?>