2017-08-31 19 views
1

私が始める前に、必ずsession_start()を使用しました。 - これは、この問題を抱えている人々の95%のための解決策だったようです。

私はレシピサイトを作成しています。ユーザーがli要素をクリックすると、javascriptコードはidとその成分の名前をとり、その値を$に格納するPHPファイルに送ります_SESSION変数。

すべてのコードスニペットは非常に要約されています。

HTML:

<div id="ingredientContainer"> 
    <ul> 
     <li id="ingredient-43" class="ingredient">Avocado</li> 
     <li id="ingredient-90" class="ingredient">Bacon</li> 
    </ul 
</div> 

のJavaScript(最初の試み)

$('#ingredientContainer .ingredient').click(function(){ 

    var ingredientName = $(this).html(); 
    var ingredientID = $(this).attr('id').split('-') 


    $.ajax({ 
     url: "js/routes/session.php", 
     cache: false, 
     type: "POST", 
     dataType:'json', 
     data:{ 
      ingredientName: $(this).html(), 
      ingredientID: ingredientID[1] 
     } 
    }) 

}) 

のJavaScript(第二の試み)

$('#ingredientContainer .ingredient').click(function(){ 

    var ingredientName = $(this).html(); 
    var ingredientID = $(this).attr('id').split('-') 


    $.post("js/routes/session.php", { "ingredientName": ingredientName, "ingredientID": ingredientID[1] }); 

}) 

PHP(session.php):

<?php 

    session_start(); 

    if($_POST['ingredientName'] && $_POST['ingredientID']) { 
     $_SESSION['finalized'][$_POST['ingredientID'])] = array(
     'ingredientID' => $_POST['ingredientID']), 
     'ingredientName' => $_POST['ingredientName'] 
     ); 
    } 
?> 

いくつかの成分をクリックした後、私は$ _SESSION変数をチェックしますが、そこに値は保存されていません。

アイデア?

答えて

0

それはあなたのコードを省略しましたどれだけかもしれないが、あなたのPHPコード内の余分な終了paranthesisがありますように見えます:

$_SESSION['finalized'][$_POST['ingredientID'])] = array(

$_SESSION['finalized'][$_POST['ingredientID']] = array(
+1

母であるべき、などのことを見ました私は提出された質問を検討していた。良いスポッティング! – gavmcgz

+1

これで完了です。 :-)いつも小さなことが...ちょうどあなたの答えを正しいものとして受け入れるのに7分待たなければなりません。再度、感謝します。 – gavmcgz

関連する問題