【发布时间】:2011-06-09 17:59:09
【问题描述】:
我正在编写一个使用基于 cookie 的会话进行身份验证的应用程序。一切都很好,直到我尝试将 uploadify jQuery 插件集成到我的网站中。我需要uploadify 将文件发送到我的upload.php 文件。当我检查该upload.php 脚本中是否存在任何已知会话变量时,我什么也得不到。我试过print_r($_SESSION) 并得到一个空数组。
我不确定这是我的 php 会话代码还是我的 jquery uploadify 代码的问题。我在这两方面都有点新意。
/** INSIDE JQUERY **/
$('.fileUploadify').uploadify({
'scriptData': {'filesUploaded':'1','PHPSESSID' : <?php echo json_encode(session_id()); ?>},
...
/** UPLOAD.PHP **/
if(isset($_REQUEST['PHPSESSID']))
session_id($_REQUEST['PHPSESSID']);
if(!isset($_GET['logout']) && isset($_SESSION['user']) && $_SESSION['ipadd'] == $_SERVER['REMOTE_ADDR']) {
define('USERHASH',$_SESSION['user']);
require_once('lib/ez_sql_core.php');
require_once('lib/ez_sql_sqlite.php');
require_once('lib/functions.php');
$db = new ezSQL_sqlite('./'.USERHASH.'/','fileInformationBase.sqlite');
$mdb = new ezSQL_sqlite('./','fileServMain.sqlite');
$stats = $mdb->get_row("SELECT ID,bandwidthUsage,lastLogin,...
} else die('No no no');
upload.php 每次都返回“No no no”。我检查了会话 ID,它 正在 正确发送到 upload.php。
在我的正常页眉上我没有遇到这个问题,我只是用session_start() 开始授权部分,然后是相同的if(isset($_SESSION['user']) && $_SESSION['ipadd] ...) { 行,它按预期工作。
编辑
这是上面 jQuery 脚本生成的代码
'scriptData': {'filesUploaded':'1','PHPSESSID' :"m3vgn7j6a7nd3ckppnio1ln3e1" }
在upload.php脚本中输入echo $_REQUEST['PHPSESSID']会打印出来
'sjojolnjtcutbomceh50os3kg4'
【问题讨论】:
标签: php jquery flash session uploadify