Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP$\u会话无法使用Fancybox AJAX cal_Php_Jquery_Ajax_Jquery Ui - Fatal编程技术网

PHP$\u会话无法使用Fancybox AJAX cal

PHP$\u会话无法使用Fancybox AJAX cal,php,jquery,ajax,jquery-ui,Php,Jquery,Ajax,Jquery Ui,我在这里有一场真正的战斗,我真的希望有人能帮忙。我昨晚很晚才睡,尝试谷歌提供的每一个解决方案,但仍然没有成功 我的网站上有一个我想添加到食谱中的配料列表 要对此进行处理,请执行以下操作: 单击“添加到配方”。它打开一个fancybox iframe,其中包含来自的jquery UI选项卡式内容,允许用户以克为单位输入度量值 从这里,用户单击“添加”,fancybox内容进行AJAX调用(已经构建了创建良好的数据字符串) AJAX调用的PHP文件只需将传递的值转换为int(食物id和重量),并将其

我在这里有一场真正的战斗,我真的希望有人能帮忙。我昨晚很晚才睡,尝试谷歌提供的每一个解决方案,但仍然没有成功

我的网站上有一个我想添加到食谱中的配料列表

要对此进行处理,请执行以下操作:

  • 单击“添加到配方”。它打开一个fancybox iframe,其中包含来自的jquery UI选项卡式内容,允许用户以克为单位输入度量值

  • 从这里,用户单击“添加”,fancybox内容进行AJAX调用(已经构建了创建良好的数据字符串)

  • AJAX调用的PHP文件只需将传递的值转换为int(食物id和重量),并将其存储在:

    $\u会话['recipe'][]=array('id'=>$id,'weight'=>$weight)

  • 完成后,fancybox关闭,起始页(第一步)上包含配方卡路里信息的div应重新加载并更新

  • 除了3步之外,所有的步骤似乎都有效

    每当我尝试
    vardump
    会话时,它都是空的

    我已经在每个页面上启动了会话,即步骤1、fancybox页面,然后是ajax页面

    我完全不知所措

    我在步骤3中的AJAX调用是:

        $(document).on('click', '.add-food-button', function () {
        var weight = $("input#grams").val();  
        var id = $("input#ingredientid").val();  
        //var sez = $("input#sez").val();  
    
        var dataString = 'g='+ weight +'&id=' + id ; //+ "&sid=" + sez; 
    
        if (weight > 0)
        {
    
            $.ajax({
              type: "POST",  
              url: "../ajax/add-ingredient-to-recipe.php?"+dataString,  
              dataType: "html",
              data: dataString,  
                success: function (msg) {
    
    
                    frames.top.$.fancybox.close(true);
                    frames.top.$('#calorie-table').load('./views/recipe-calorie-chart.tmp.php');
    
                }
    
            });
    
    
    
        }else{
              $('#grams').addClass('errorInput');
              $('#weight-label').addClass('errorLabel');
        }
    
    });
    
    名为(步骤4)的php文件是:

    
    
    我读过关于通过AJAX传递会话ID的内容,因为AJAX调用可能会生成一个新的会话,而我实际上需要使用已经打开的会话。如果是这样,我该怎么做


    任何建议都会很好

    如果检查ajax调用,您会发现您正在查询字符串中传递“g”和“id”变量。但在php文件中,您正在检查“weight”&&“id”。因此,此条件将不为真,会话将永远不会设置。因此,您得到了空白会话值。 更新的ajax调用

    $.ajax({
          type: "POST",  
          url: "../ajax/add-ingredient-to-recipe.php?"+dataString,  
          dataType: "html",           
            success: function (msg) {
    
    
                frames.top.$.fancybox.close(true);
                frames.top.$('#calorie-table').load('./views/recipe-calorie-chart.tmp.php');
    
            }
    
        });
    
    更新的php代码

        session_start();
    
    include('../includes/config.inc.php');
    
    if (isset($_GET['g']) && $_GET['id'])
    {   
        $weight = (int) $_GET['g'];
        $id = (int) $_GET['id'];
        $_SESSION['recipe'][] = array('id' => $id,'weight' => $weight);
    
    
    
    }
    

    您在哪里访问$\u会话['recipe']?
        session_start();
    
    include('../includes/config.inc.php');
    
    if (isset($_GET['g']) && $_GET['id'])
    {   
        $weight = (int) $_GET['g'];
        $id = (int) $_GET['id'];
        $_SESSION['recipe'][] = array('id' => $id,'weight' => $weight);
    
    
    
    }