2011-12-28 10 views
0

2つの異なる方法でログインフォームを作成できました。効率的なJQueryログインスクリプト

1)$ trueを返すサーバPHPスクリプトにパスワードを送信するには、$ .POSTを使用します。フォームは2回目に提出する必要がありますので、PHP 'header'を呼び出して新しいページを読み込むことができます(成功フラグがfalseを返すと、エラーメッセージが消えてしまうajaxの利点があります)。

2)JQuery Submitを使用して、サーバーPHP 'ヘッダー'を最初の送信時に新しいページにリダイレクトできるようにします。しかし、パスワードが間違っている場合は、返された値を取得してエラーメッセージを消す方法がありません。完全な新しいページをロードする必要があります。

最初の投稿時に新しいページに誘導するために、$ .POST関数またはPHP 'header'という2つの世界のベストを得ることができましたか、または返された値が返されますか?

答えて

1

成功する場合は、AJAXリクエストを送信し、Javascriptを使用してlocation = some URLを設定する必要があります。

SSLの初期ログインページを提供する必要があることに注意してください。

2

リダイレクトURLと成功フラグを返します。例えば。 JSON { success: true, redirect: 'http://www.example.com/logged_in.php' }にし、

.post('login.php', { username: $('#username').val(), password: $('#password').val() }, function(response) { 

if (response.success) { 
window.location.href = response.redirect; 
} else { 
// User is not logged in 
} 

}, 'json'); 
0

window.location.hrefはJavaScriptを使用して、私は、サーバーにPOSTを経由してユーザ名とパスワードを送信フォームを作成します。 userloginが成功した場合は、header()コマンドで保護されたページにリダイレクトします。

ログインによってエラーが発生した場合、PHPスクリプトは現在のページ(ログインフォーム付き)とエラーメッセージを返して、ユーザーに間違いを知らせます。

今や誰もログインを使用できます(jsが無効になっている人さえも)。

フォームを送信する代わりに、少し快適にするために、ajaxリクエストを行うことができます。ログインが成功した場合は、リダイレクトの場所をステータスコード(とにかくjquery ajax documentationに記載されています)にすることができます。

これ以外の場合、サーバーはページ全体を返します。実際のフォームを応答に含まれるフォームに置き換えることができます。

これは、このようなログインを処理する方法の単なるアイデアです。