javascript - 如何将会话值发送到 PHP 中的 sql 查询中?
问题描述
当我将会话值发送到 sql 查询中时,它会发送一个 NULL 值。当我手动将值更改为$userMail="abc@gmail.com"
而不是$userMail=$_SESSION['em']
一切正常时。谢谢你帮助我:)
<?php
require_once("../php/db.php");
if(!isset($_SESSION['em'])) {
$userMail = $_SESSION['em'];
}
$taskName = $_POST['taskName'];
$taskDate = $_POST['taskDate'];
$writerName = $_POST['writerName'];
$isDone = $_POST['isDone'];
$sql ="INSERT INTO `tasksToDo`( `taskName`, `taskDate`, `writerName` , `isDone`, `userMail`)
VALUES ('$taskName','$taskDate','$writerName','$isDone','$userMail')";
if ($conn->query($sql)===TRUE) {
$last_id = $conn->insert_id;
echo json_encode(array('success' => 1,"id"=>$last_id));
}else {
echo json_encode(array('success' => 0));
}
$conn->close();
?>
解决方案
Tnx 到 CBroe 和 ADyson,解决方案是:
<?php session_start();
require_once("../php/db.php");
if(!isset($_SESSION['em'])){ // if the user is not logged in then don't enter the system
header('Location: logIn.php');
exit;
}
if(isset($_SESSION['em'])) {
$userMail =$_SESSION['em'];
}
$taskName = $_POST['taskName'];
$taskDate = $_POST['taskDate'];
$writerName = $_POST['writerName'];
$isDone = $_POST['isDone'];
$sql ="INSERT INTO `tasksToDo`( `taskName`, `taskDate`, `writerName` , `isDone`, `userMail`)
VALUES ('$taskName','$taskDate','$writerName','$isDone','$userMail')";
if ($conn->query($sql)===TRUE) {
$last_id = $conn->insert_id;
echo json_encode(array('success' => 1,"id"=>$last_id));
}else {
echo json_encode(array('success' => 0));
}
$conn->close();
?>
推荐阅读
- xml - XML 数据对于模式“[A-FH-Z][AZ]|[AZ][A-QS-Z]”不是 Facet-valid
- pyspark - 如何将共享 id 的多行合并为一行(PYSPARK)
- crashlytics - crashlytics 是否报告 iOS 冻结(如 Google 中的 ANR)
- php - Laravel:如何在模型中创建一个返回经过验证的用户的方法?
- database - GoldenGate 19c 集成提取启动错误 OGG-02030 无法将日志挖掘服务器参数设置回默认值
- java - 滑翔返回错误:加载失败,大小
- r - 在 R 中查找匹配项和分配金额的棘手问题
- symfony - 为 bundle 中的父 Symfony 应用添加 `framework:config`
- php - 检查是否为空与根本不检查
- python - Altair 对应 ggplots geom_segment