2016-09-15 2 views
2

チケット予約アプリケーションを作成しています。私はPHPとAjaxを使用して基本的なカートを作成しようとしています。カートに追加ボタンをクリックすると、座席番号がAjaxを使って "seatchecker.php"ファイルに送信されます。 Ajaxを使用してその座席番号を「seatadder.php」ファイルに送信します.Ajaxは座席番号をセッション配列に追加する必要があります。しかし、「カートに追加」をクリックするたびに、カート全体を表示するのではなく、新しい値が表示されます。毎回セッション変数を上書きしているかもしれませんか?どんな助けもありがとう。おかげphpセッション配列がajaxを使って新しい要素を追加していません

<?php 
session_start(); 
// Getting the value sent by checkseats.php using ajax 
$seat_added = $_GET['seatadd']; 
// ARRAY OF SESSION VARIABLE 
$_SESSION['seat_add'] = array(); 
function multiple_seats_adder($getseat){ 
    array_push($_SESSION['seat_add'],$getseat); 
    // TESTING 
    print_r($_SESSION['seat_add']); 
    // TESTING 
    echo sizeof($_SESSION['seat_add']); 
} 
echo multiple_seats_adder($seat_added); 
?> 

答えて

1

問題は、空の配列にスクリプトが呼び出されるたびにseat_addキーを初期化しているという事実に由来しているようです。おそらく、それはあなたが望むものではありません。以下のコードを考えてみましょう:それはあなたの問題を解決した場合は

<?php 
     session_start(); 
     // Getting the value sent by checkseats.php using ajax 
     $seat_added = $_GET['seatadd']; 

     // ONLY INITIALIZE THIS TO AN EMPTY ARRAY IF IT DOESN'T EXIST AT ALL: 
     if(!isset($_SESSION['seat_add'])){ 
      // ARRAY OF SESSION VARIABLE 
      $_SESSION['seat_add'] = array();     
     } 


     function multiple_seats_adder($getseat){ 
      array_push($_SESSION['seat_add'], $getseat); 
      // TESTING 
      print_r($_SESSION['seat_add']); 
      // TESTING 
      echo sizeof($_SESSION['seat_add']); 
     } 
     multiple_seats_adder($seat_added); 
+0

おっと正しい、あなたの時間:) – Khuzema

+0

@Khuzemaのためにあなたにポイズをありがとう、あなたは答えとして、それをチェックすることができます。 – Poiz

関連する問題