Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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 无法调用访问会话变量_Php_Actionscript 3_Session Variables - Fatal编程技术网

Php 无法调用访问会话变量

Php 无法调用访问会话变量,php,actionscript-3,session-variables,Php,Actionscript 3,Session Variables,我有一个flash应用程序,它通过网络摄像头捕获图像,并通过save.php(如下)将其存储在一个文件中。现在的问题是,在加载save.php时,我无法访问会话变量。调用会话变量时是否需要使用其他方法 <?php include 'session.php'; sec_session_start(); $userid=$_SESSION['user_id']; $w = 300; $h = 400; $img = imagecreatetru

我有一个flash应用程序,它通过网络摄像头捕获图像,并通过save.php(如下)将其存储在一个文件中。现在的问题是,在加载save.php时,我无法访问会话变量。调用会话变量时是否需要使用其他方法

   <?php

   include 'session.php';
   sec_session_start();

   $userid=$_SESSION['user_id'];
   $w = 300;
   $h = 400;


   $img = imagecreatetruecolor($w, $h);


    imagefill($img, 0, 0, 0xFFFFFF);

    $rows = 0;
    $cols = 0;

    for($rows = 0; $rows < $h; $rows++){

    $c_row = explode(",", $_POST['px' . $rows]);
       for($cols = 0; $cols < $w; $cols++){
            $value = $c_row[$cols];
            if($value != ""){
        $hex = $value;
        while(strlen($hex) < 6){
            $hex = "0" . $hex;
        }

        $r = hexdec(substr($hex, 0, 2));
        $g = hexdec(substr($hex, 2, 2));
        $b = hexdec(substr($hex, 4, 2));

        $test = imagecolorallocate($img, $r, $g, $b);

        imagesetpixel($img, $cols, $rows, $test);
        }
      }
    }

    if(isset($userid)){
    $fp = fopen("name.jpg", "w");
    ob_start();
    imagejpeg($img, "", 90);
    $img = ob_get_contents();
    ob_end_clean();
    fwrite($fp, $img);
   echo "name.jpg";
    echo $userid;
   exit;
  }
?>
数据通过从flash发送到save.php

     load_var.sendAndLoad("save.php", result_lv, "POST");
谢谢你抽出时间

更新

好的,现在我尝试将会话变量传递给flash,并在save.php中检索它。这就是FLSAHVAR的使用方式

      var flashvars = {
        phpsessionid:<?php print $user_id;?>,
       };

        var cam = new SWFObject("webcamvid.swf", "player_mc", "400", "500", "8",      
        "#336699",flashvars);
            cam.addParam("quality", "high");    
            cam.addParam("wmode", "transparent");
              cam.addParam("pluginurl", "http://www.macromedia.com/go/getflashplayer");
           cam.addParam("pluginspage", "http://www.macromedia.com/go/getflashplayer");
           <!--so.addParam("allowFullScreen", "true"); -->
            cam.addParam("salign", "t");
           cam.write("takepic");
然后发送

      _var1.sendAndLoad("save.php", PHPSESSNID, "POST");
请注意,闪光灯也有

     load_var.sendAndLoad("save.php", result_lv, "POST"); 
这是另一个变量

我无法在save.php中检索_var1。你知道我该怎么做吗?谢谢首先在PHP代码的最顶端

<?php
session_start();

/*

your code

*/

?>

好的,所以在这里,您需要做的就是按如下方式使用会话

  function sec_session_start() {
   $session_name = 'sec_session_id'; 
   $secure = **flase;**
    $httponly = true;

   ini_set('session.use_only_cookies', 1); 
    $cookieParams = session_get_cookie_params(); 
    $cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"],
          $secure, $httponly); 
  session_name($session_name); 
   session_start(); // Start the php session
   session_regenerate_id(true); 
    }

在文件的最开始处调用sessionstart函数。双重、三重和四重检查代码或任何轻微错误,您应该能够访问会话变量

您需要通过flash应用程序的请求传递会话ID。这就是设置cookie或将其传递到字段中,然后您可以使用
session\u id($id\u)激活它
和/或
$\u COOKIE
在使用session start.Hmm之前,当我首先寻找最简单的解决方案时,我注意到在$httponly附近有一个不匹配的值。是否假定它是意外删除的函数调用的一部分?session\u get\u cookie\u params()行之后session.php中发生了什么?这是有效的语法吗?我已经检查过了,我可以调用所有其他文档accept save.php中的变量。通过闪存加载此文件时,我无法访问会话变量。如果我只是在地址栏中输入url并访问save.php,则会调用会话变量。有什么想法吗?谢谢,如果它只与php一起工作,那么我假设它的闪存正在下降。它在session.phpYep中的secu_session_start()中。我已经看到,许多文档建议
session_start()
必须位于ini配置旁边的最顶层层次结构中。
<?php
session_start();

/*

your code

*/

?>
  function sec_session_start() {
   $session_name = 'sec_session_id'; 
   $secure = **flase;**
    $httponly = true;

   ini_set('session.use_only_cookies', 1); 
    $cookieParams = session_get_cookie_params(); 
    $cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"],
          $secure, $httponly); 
  session_name($session_name); 
   session_start(); // Start the php session
   session_regenerate_id(true); 
    }