1

インデックスページでは、ユーザーはログインする必要があります..ログイン後、

<?php
    include("dbinit.php");
    $text="";
    $eadd = $_POST['eadd'];
    $pass = $_POST['pass'];         
     if (filter_var($eadd, FILTER_VALIDATE_EMAIL)) {
         $result = mysqli_query($link,"SELECT * FROM account WHERE Eadd='".$eadd."'");
        if (mysqli_num_rows($result)<=0){
          $text = "<font color=red>Invalid Emailaddress and Password Combination!</font>";
        }
        else
        {
         while($row = mysqli_fetch_array($result)){
        $passH = $row['Pass'];
            $passS = $row['hash'];
         }
     if(md5($pass.$passS) == $passH){
            $_SESSION['account'] = $eadd;
            $text = "<font color=red>Login Successful!</font>";
         }else{
            $text = "<font color=red>Invalid Emailaddress and Password Combination!</font>";
         }
            }
        mysqli_free_result($result);
    } else {
      $text = "<font color=red>Invalid Emailaddress!</font>";
    }
                mysqli_close($link);
echo $text;
?>

インデックスページで、

function login(){
var eadd = $('#eadd').val();
var pass = $('#pass').val();
$.ajax({
type: "POST",
url: "login.php",
data: {eadd:eadd, pass:pass}
}).done(function( result ) {
$("#loginMsg").html(result);
});
}

ログイン後にページをリダイレクトまたは更新するにはどうすればよいですか? ログイン後、インデックス ページを更新する必要があります。それの使い方?

4

2 に答える 2

0
window.top.location.reload();

あなたのajax成功コールバックでそれを使用してください

代わりに別のページにリダイレクトするには:

window.top.location = '/some/page/withcats';

使用する:

function login(){
  var eadd = $('#eadd').val();
  var pass = $('#pass').val();
  $.ajax({
    type: "POST",
    url: "login.php",
   data: {eadd:eadd, pass:pass}
  }).done(function( result ) {
    $("#loginMsg").html(result);
    //you may want to check result has no errors or something
    window.top.location.reload();
  });
}

エラー処理:

エラーをチェックして、ログインに失敗した場合にページを更新したくない場合があります。これを行うには、php 関数が何を返すかを知る必要があります。

function login(){
      var eadd = $('#eadd').val();
      var pass = $('#pass').val();
      $.ajax({
        type: "POST",
        url: "login.php",
       data: {eadd:eadd, pass:pass}
      }).done(function( result ) {
        //this will make sure the page only refreshes if login is succesful, if not display error
        if(result === "<font color=red>Login Successful!</font>"){
          window.top.location.reload();
        }else{
          $("#loginMsg").html(result);
        }
      });
    }
于 2013-07-12T08:22:28.843 に答える
0

ログイン後にページをリダイレクトまたは更新するにはどうすればよいですか?

Ajax の代わりに通常のフォーム送信を使用する。

于 2013-07-12T08:22:43.857 に答える