php ajax session丢失,PHP AJAX没有收到SESSION

我有一个图像上传脚本,将文件保存到目录以及到mySql的链接的副本。

如果我将用户标识设置为“123”,它将在数据库中保存一个新条目。但是,如果我把用户ID设置为$ _SESSION ['unique_user_id'];它不会在数据库中放入新条目,但会继续保存该文件。

我已经在两个PHP页面上包含了session_start();,但没有包含附加的JavaScript文件。

JS:

function doodleSave() {

var canvas = document.getElementById("doodle-canvas");

var canvasData = canvas.toDataURL("image/png");

$.post('test.php', {data: canvasData}, function (response) {

var data = JSON.parse(response);

if (data.filename !== false) {

alert (data.filename);

} else {

alert('unable to upload');

}

});

}PHP:

session_start();

$unique_user_id = $_SESSION['unique_user_id'];

$randomFolder = md5(uniqid(rand(), true));

$upload_dir = "images/external/doodles/".$randomFolder."/";

if (!file_exists($upload_dir)) {

mkdir($upload_dir, 0755, true);

}

$url = md5(uniqid(rand(), true));

$unique_user_id = $_POST['userid'];

$unique_post_id = md5(uniqid(rand(), true));

$timestamp = time();

$nature = "doodle";

$imageUrl = $upload_dir.$url.'.png';

$img = $_POST['data'];

$img = substr($img,strpos($img,",")+1);

$data = base64_decode($img);

$file = $upload_dir . $url . ".png";

$success = file_put_contents($file, $data);

if(!$success) {

echo json_encode(['filename' => false]);

exit(); // Prints success and exit the script

} else {

require_once 'php/connect.php';

try

{

$stmt = $pdo->prepare("INSERT INTO posts (unique_user_id, unique_post_id, nature, image_url, timestamp) VALUE (:unique_user_id, :unique_post_id, :nature, :image_url, :timestamp)");

$stmt->bindParam(":unique_user_id",$unique_user_id);

$stmt->bindParam(":unique_post_id",$unique_post_id);

$stmt->bindParam(":nature",$nature);

$stmt->bindParam(":image_url",$imageUrl);

$stmt->bindParam(":timestamp",$timestamp);

if($stmt->execute())

{

echo json_encode(['filename' => "in database"]);

}

else

{

echo json_encode(['filename' => "not in database"]);

}

}

catch(PDOException $e)

{

$return_data = $e->getMessage();

}

exit();

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值