2017-04-02 16 views
-1

私はこれまでに非常に新しいので、ここ数時間、さまざまなページで複数のコードセクションを見てきました。 PHPページからjavascript関数ページに単一の変数を渡そうとしています。 PHP変数は、データベースエントリから入力されます。 javascript関数ページでは、ifステートメントで変数を使用して何をすべきかを決定します。 以下は、PHPファイルにあるコードのセクションです。1つのPHPページから1つの変数を外部Javascript関数に渡す方法

if($UserName == $username && $UserPass == $password){ 
    $_SESSION['useris'] = $UserID; 
    $_SESSION['access_level'] = $Authlevel; 
    echo json_encode($Authlevel); 
    header('Location:../HTML/AdminModal.html'); //removed for testing of the auth level 
} 

私は実際にはまだどこにいてもデータを送信していないと思います。

JavaScriptファイルでは、私が渡した情報をどのように取得するかについて全く迷っています。

さまざまなデータの大きな例が数多くあることを知っていますが、私は自分のニーズにどう対応するかを理解したり解決したりするのに苦労しています。

ありがとうございました

+0

私はあなたがすでにこの質問を読みましたと仮定しています... http://stackoverflow.com/questions/23740548/how-to-pass-variables-and-data-from- phpからjavascript – blackandorangecat

+0

ありがとうございます。私が言ったように、私はこれについて非常に新しいです、そして、私はデータがどのように受け継がれているか見ることができませんでした。別のPHPまたはHTMLページで変数を取得するのではなく、IFステートメントのコントローラとしてjavascript関数ページで直接呼び出して使用します。 – bmunro

答えて

0

あなたのサーバーにAJAXコールを行う必要があります。 Javascriptがajax_post.phpすなわち

$.ajax({ 
    type: "POST", 
    url: "ajax_post.php", 
    data: {user: userid, pass: password}, // any data you would like to send with request 
    dataType: "JSON", 
    beforeSend: function(){ 
     // you may want to show a loader or any message before sending request 
    }, 
    success: function(response){ 
     console.log(response); 
     // do further processing of your response and carry out any redirections from here, if required, using window.location.href = "../HTML/AdminModal.html"; 
    } 
}); 

ますサーバー側のファイルと同じようにする必要があり

.. 
if($UserName == $username && $UserPass == $password){ 
    $_SESSION['useris'] = $UserID; 
    $_SESSION['access_level'] = $Authlevel; 
    echo json_encode($Authlevel); 
} 
+0

それに感謝します。私はそれを試して、要求が(単純なアラート)行われているのを見ることができましたが、何もページに戻っていませんでした。私は昨日前にアヤックスを使ったことは一度もなく、今でも自分の道を見つけようとしています。 – bmunro

+0

学習を始めたばかりの方は、上記のコードで簡単にajaxを呼び出すことをお勧めします( 'data:{user:userid、pass:password} 'を' data:{user: "ダミーのユーザID"、パス: "ダミーのパスワード"}、 ')、そしてポストページの' ajax_post.php'に 'echo json_encode("これはレスポンス ");ちょうどあなたがAJAXリクエストを成功させ、 'console.log(response);'がコンソールに 'これは応答です'というメッセージを表示しているかどうかを確認するためにこれを行うだけです –

0

が含まれます別のオプションは、JavaScriptの機能に直接変数をエコーすることで、これは、変数がで利用可能であると仮定し時間。何かのように:

function someFunction() 
{ 
if(<?php echo variableName;?> == value) 
} 
+0

これはjavascriptとphpが同じページにあるときに受け入れられます。私はそれを試み、赤い警告をたくさん得始めます。私のjavascriptのページとPHPは別です。 – bmunro

+0

いいえ、唯一の条件は、PHP変数が利用可能であることです。値は、任意のJavascriptページにエコーすることができます。または、それをグローバル変数としてエコーし、任意のJavascriptコードで使用できます。私はあなたが私がそれらにコメントすることができます前に取得するエラーについての詳細が必要になります。それらは異なるページにあるので、変数を別のページで使用するためにSession変数として設定する必要があります。 – CharlesEF

+0

助けてくれてありがとう、私は(<?php echo Authlevel;?> = "elevated")とタイプするとすぐに、それは赤くなり、表現が期待され、文は期待されています。それはJavaScriptのページに入れられるという意味ではないと私に思いました。 – bmunro

関連する問題