2012-04-19 18 views
5

私はライトボックスにjavascript関数を使用してログインフォームを作成しました。セッション変数に値を格納し、それをチェックする

<script language="javascript" type="text/javascript"> 
    function createlightbox() 
    { 
     document.getElementById('light').style.display='block'; 
     document.getElementById('fade').style.display='block' 
    } 
    function closelightbox() 
    { 
     document.getElementById('light').style.display='none'; 
     document.getElementById('fade').style.display='none' 
    } 
    function checksession() 
    { if (admin=="admin") 
    {closelightbox();} 
    else 
    {createlightbox();} 
    } 

function check(form)/*function to check userid & password*/ 
{ 
/*the following code checkes whether the entered userid and password are matching*/ 
if(form.name.value == "admin" && form.password.value == "admin") 
    { 
    closelightbox(); 
    var admin = <?php $_SESSION['Admin']= 1; ?> 

    } 
else 
{ 
    document.getElementById("error").style.display='block';/*displays error message*/ 
    } 
}  
</script> 

:今、私は私のjavascriptの機能が..ですので、ユーザはloginedいるかどうかを確認するために、彼はページ上の彼のナビゲーションに何度も何度もライトボックスにログイン表示しないように、セッション変数に値を格納したいですすべてのリセットまたはフォームの提出にIMは偶数ページの変更には、ログインフォームが表示され、

<form id="Admin" onreset="checksession()"> 

問題があるように私のフォームをonSubmitイベントでchecksession関数を呼び出します。チェックセッション機能をチェックしていない理由 私は何か不具合を教えてください

+0

JavaScriptとPHPは異なる言語ですか?あなたのコードはSpanglishに相当するITですが、Spanglishはコンピュータで実行する必要はありません。 –

+1

はい私は気づいていますが、変更を加えた後の結果は同じです。今度は他の不具合を見つけてください。 –

+2

ここには何も修正することはありません。最終的に実行されることを期待してランダムコードを入力するだけです。 –

答えて

1

私はあなたの条件がどこにあるか分からない。 しかし、PHPスクリプトに提示しなければならない次のコードは、あなたのライトボックスを生成:

<?php echo '<script> var admin ='.$_SESSION['Admin'].'</script>'; ?> 

(あなたがあなたのページのソースコードを見ると、のような行があるかどうかを確認でき、正常に動作している上記確認する:<script> var admin =1</script>)が

をまた

<script language="javascript" type="text/javascript"> 
.... //other code 

function checksession() 
    { if(admin =="admin") 
    {closelightbox();} 
    else 
    {createlightbox();} 
    } 
.... 

if文が==がを割り当てない比較する必要があることに注意してください:あなたは上記のsetted管理変数にアクセスする前に

次のようにする必要があります

+1

ライトボックスはページの読み込み時に生成されます。それはjavascript関数によって閉じられます。サインインした後、私はあなたのコード行をvar admin = <?php $ _SESSION ['Admin'];と書いています。 ?>しかし、check(form)関数が全く機能していないように見えます。 –

+0

あなたが言ったように、上記のコードを編集しました。 –

+0

ok。 Javaスクリプトエラーのコンソールを確認してください? – Elen

関連する問題