2017-03-08 7 views
0

感謝によって除去データ、PHPセッション先進のJavaリフレッシュ

およびオンラインチュートリアル/コードを見つけ

私はlmsdropdown.phpとclubdropdownを作成するために二回、このコードを使用しています.php。私はlmsdropdown形式の値をセッションとして保存することができ、clubdropdownにそれらをエコーし​​ます(値が存在することを確認するため)。

lmsdropdownはmembers.php内のPHPインクルードであり、clubdropdownはmembers2.phpのインクルードです。

clubdropdownの値を選択すると、ページがリフレッシュされて2番目のドロップダウンボックスが表示され、セッションデータが消去されます。

私はPHP/Javascriptを使い慣れていないので、答えは非常にはっきりしているかもしれませんが、これで私は数日間困惑しました。どんな助けも非常に高く評価されるでしょう。

以下は、lmsdropdownの出力と保存された出力をセッションに取り込んだ2つのスニペットのメンバー2.phpのマージです。 clubdropdownは、Javaコードともエコーセッション文

を示し、私は正しくセッションデータをエコーするがjavascriptのドロップダウン2.

members.php session data 
 

 
<?php 
 
    session_start(); 
 
    $_SESSION['lms'] = $_POST['lms']; 
 
    $_SESSION['week'] = $_POST['week']; 
 

 
    if (!isset($_SESSION['usr_lvl']) or ($_SESSION['usr_lvl'] != 0)) { 
 
     header("Location: login.php"); 
 
     exit(); 
 
    } 
 

 
?> 
 

 
clubdropdown output of session data 
 

 
<SCRIPT language=JavaScript> 
 
    function reload(form) { 
 
     var val = form.lge.options[form.lge.options.selectedIndex].value; 
 
     self.location = 'members-page2.php?lge=' + val; 
 
    } 
 
</script> 
 
</head> 
 
<body> 
 
    <?php 
 
     $usr = $_SESSION['usr_id']; 
 
     @$lge=$_GET['lge']; // Use this line or below line if register_global is off 
 
     if(strlen($lge) > 0 and !is_numeric($lge)){ // to check if $lge is numeric data or not. 
 
      echo "Data Error"; 
 
      exit; 
 
     } 
 
     $usr = $_SESSION['usr_id']; 
 
     $lms=$_SESSION['lms']; 
 
     $week=$_SESSION['week']; 
 
     echo "<br>Value of \$week = $week<br>Value of \$lms = $lms <br>Value of \$usr = $usr";

を構築する際に、これを取り除くように見えることができますよ下の画像は、members2.phpに含まれるclubdropdownに出力されるセッション変数を示しています。 clubdropdown with variables shown

この画像は1番目のドロップダウンから選択した後のエラーを示しています。

ここで私が間違っていると思うのは、投稿データが更新時に上書き/削除されているからだと思いますが、それはセッションの目的だと思っていましたか?任意の入力が大幅に受信され

はあなたに感謝します。

+1

* java **スクリプト** refresh – evolutionxbox

+0

ここではドロップダウンのチュートリアルを見ることができます。私は第一選択肢drop_down.zip http://www.plus2net.com/php_tutorial/php_drop_down-download.php?download_style=1 – Don

+0

こんにちはドン、 これはあなたを助けるかもしれないhttp://stackoverflow.com/questions/を使用しました30396944/session-variable-resets-on-refresh。 –

答えて

0

$_POSTから値を取得しています。これは、ページを2回目に実行しても表示されません。あなたは$_POST値が存在しない場合、それはスキップされるようにIf(isset($_POST['lms'])){ $_SESSION['lms'] = $_POST['lms']; }を追加する必要があります。

現在、お客様の$_SESSION変数はまだ存在しますが、空の$_POST値に置き換えられています。

AJAXコールを使用してドロップダウンリストを作成するほうが良いと思われます。

+0

それは驚異的なスチュアートです、非常に感謝していただきありがとうございます! – Don

+0

お寄せいただきありがとうございます。あなたのコーディングに幸運を祈る。 – Stuart

関連する問題