2016-03-23 6 views
-1

私はAJAXとPHPを初めて使っています。私は、IDとパスワードを持つログインフォームでindex.phpページを作成しようとしています。 私はIDフィールドの入力文字のうちの特定の番号の後にパスフィールドに移動するスクリプトを使用しています。

jQuery(function ($) { 
 
    $('#trans2').on('keyup', function() { 
 
     if (this.value.length >= this.maxLength) 
 
     { 
 
      var inputs = $(this).closest('form').find(':input'); 
 
      var id_gbl = this.value; 
 
      request = createRequest(); 
 
      if (request == null) 
 
       alert("Unable to create request"); 
 
      else { 
 
       var url = "checkName.php?id=" + id_gbl; 
 
       request.open("GET", url, true); 
 
       request.send(null); 
 
      } 
 
      inputs.eq(inputs.index(this) + 1).focus(); 
 
      alert("Done"); 
 
     } 
 
    }); 
 
});

ここcheckName.phpです:

<?php 
 
session_start(); 
 
$_SESSION['user_glb'] =$_GET['id']; 
 
?>

そしてここでは、フォームを処理conn.phpです:

<?php 
 
include("inc/connect.inc.php"); 
 

 
function SignIn() { 
 
    global $con; 
 
    session_start(); //starting the session for user profile page 
 
    $temp = $_SESSION["user_glb"]; 
 
    echo $temp; 
 
    if (!empty($_POST['user'])) { //checking the 'user' name which is from Sign-In.html, is it empty or have some text 
 
     $query = mysqli_query($con, "SELECT * FROM users where id = '$temp' AND password = '$_POST[password]'") or die(mysqli_error($con)); 
 
     $row = mysqli_fetch_array($query) or die(mysqli_error($con)); 
 
     if (!empty($row['id']) AND ! empty($row['password'])) { 
 
      header("location:home.php"); 
 
      $_SESSION['id'] = $row['id']; 
 
      echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE..."; 
 
     } else { 
 
      echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY..."; 
 
     } 
 
    } 
 
} 
 

 
if (isset($_POST['submit'])) { 
 
    SignIn(); 
 
} else { 
 
    echo "not"; 
 
} 
 
mysqli_close($con); 
 
?>

コードの問題は、それが関係なく、私がやろうものを、与えないということです。 (!)

お知らせ:未定義のインデックス:Cでuser_glb:\ wamp64 WWW \ \ phprn \ conn.phpセッションが定義されている場合checkName.phpの中へライン7 ERROR

+0

したがって、グローバルスコープには '$ user_glb'変数はありません。インクルードで定義されていない限り、関数スコープ内でのみその変数を定義すると意味があります。あなたは何をしようとしているのですか?グローバルは物事を複雑にするだけであることに注意してください。あなたが定義したもの(そして変更されたもの)が明確になるように、関数をパラメータとして関数に送るべきです。 – jeroen

+0

@jeroenあなたの提案に感謝します。しかし、funの中の$ user_glbはテストのためだけにあります。元の$ user_glbはcheckName.phpにあります。 IDを$ GLOBALまたは$ _SESSIONに保存し、それをconn.phpで接続するために使用します。再度、感謝します 。 – dEv

+0

リクエスト間で永続化する必要がある場合は、セッションで保存します。それ以外の場合は、引数として関数に渡します。 –

答えて

-1

に、確認してください。

<?php 
    session_start(); 
    if(isset($_SESSION['user_glb']) { 
     $_SESSION['user_glb'] =$_GET['id']; 
    } 
?> 
+1

迷惑をおかけしていただきありがとうございます。どのように私の問題を解決します。 – dEv

関連する問題