Comment créer un formulaire d'inscription de non rafraîchissante page Codeigniter?
-
04-10-2019 - |
Question
Heres ce que je suis en train de le faire.
Je veux avoir une page d'accueil avec mon formulaire d'inscription qui ne met pas à jour la page à chaque fois une étape de validation échoue.
Je veux que mon formulaire d'inscription pour avoir 2 étapes.
1ère étape des champs de formulaire d'inscription et date .. menu déroulant quand tout cela est passé avec succès puis il sera envoyé captcha sans rafraîchir la page ou peut-être même pop-up avec captcha. Lorsque le captcha est passé à l'utilisateur Successfull sera enregistré.
À l'heure actuelle lors de la validation passe mes charges de contrôleur une submit_success.php vue ..
Quelle est la meilleure façon d'atteindre ce que je suis en train de faire?
Ajax? Javascript?
Y a-t-il des tutoriels CodeIgniter vous pouvez me pointer vers?
Ou seriez-vous en mesure de me donner un exemple?
La solution
Vous pouvez faire ajax les appels vers CI pour la validation en utilisant $ .ajax ou $ .post, de cette façon vous suffit de créer vos règles de validation dans CI.
Voici un exemple que j'ai trouvé pour vous aider à démarrer: jquery après validation CodeIgniter
Voici un exemple de CodeIgniter Captcha avec ajax: http://www.99points.info/2010 / 03 / verify-captcha-avec-ajax-en utilisant-CodeIgniter /
Autres conseils
//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";
?>