Wie eine Codeigniter nicht Seite erfrischend Anmeldeformular erstellen?
-
04-10-2019 - |
Frage
Heres, was ich versuche zu tun.
Ich mag eine Homepage mit meinem Anmeldeformular haben, die der Seite nicht aktualisieren jedes Mal, wenn ein Validierungsschritt fehlgeschlagen ist.
Ich mag mein Anmeldeformular 2 Schritte haben.
1. Schritt Anmeldeformularfelder und Datum Drop-Down .. wenn alles erfolgreich weitergeben wird, dann werden es zu captcha weiterleiten, ohne die Seite zu aktualisieren oder vielleicht sogar Pop-up mit Captcha. Wenn das Captcha erfolgreich ist vergangen wird der Benutzer registriert werden.
Zur Zeit, wenn die Überprüfung ist mein Controller lädt einen submit_success.php geben ..
Was ist der beste Weg, um zu erreichen, was ich versuche zu tun?
Ajax? Javascript?
Gibt es codeigniter Tutorials Sie mir zeigen können?
Oder würden Sie in der Lage sein, mir ein Beispiel geben?
Lösung
Sie könnten Ajax-Aufrufe für die Validierung zurück zu CI machen mit $ .ajax oder $ .post, auf diese Weise Sie müssen nur Ihre Validierungsregeln in CI erstellen.
Hier ist ein Beispiel fand ich Sie erhalten begonnen: jquery Post codeigniter Validierung
Und hier ein CodeIgniter Beispiel sind Sicherheits mit Ajax: http://www.99points.info/2010 / 03 / verify-captcha-mit-ajax-using-Codeigniter /
Andere Tipps
//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";
?>