php - 获取显示为 Null 的请求表单数据
问题描述
我是 PHP 新手,这甚至可能不是问题。我有一个发送 fetch 请求的 JavaScript 函数。当我发送到 api.php 时,当我 var_dump() 变量 $studentnumber 时我得到一个空值。我检查了获取请求,它在请求中发送数据,所以 PHP 读取表单数据有问题......也许?在此先感谢这是学校的作业。
获取请求
function login() {
var studentnumber = document.getElementById("studentnumber");
var password = document.getElementById("password");
var logindetails = new FormData();
logindetails.append('studentnumber', studentnumber.value);
logindetails.append('password', password.value);
fetch('http://localhost/gaq/api/api.php?action=login', {
method: 'POST',
body: logindetails,
}
)
.then(function(response){
if (response.status == 202) {
var studentnumber = document.getElementById("studentnumber");
var logindetails = new FormData();
logindetails.append('studentnumber', studentnumber.value);
fetch('http://localhost/gaq/api/api.php?action=processlogin', {
method: 'POST',
body: logindetails,
});
console.log("Success");
} else {
console.log("Error");
}
})
}
API.PHP 文件
<?php
include 'database.php';
include 'session.php';
session_start();
//header('Content-Type: application/json');
$functions = new gaqfunctions();
if(!isset($_SESSION['user_session'])) {
$_SESSION['user_session'] = new gaqsession;
http_response_code(501);
die();
}
if(isset($_GET['action'])) {
switch($_GET['action']) {
case "login":
if($_SESSION['user_session']->userloginstatus()) {
$studentnumber = $_POST['studentnumber'];
$password = $_POST['password'];
$response = $_SESSION['user_session']->login($studentnumber, $password);
http_response_code(206);
if ($response == true) {
http_response_code(202);
} else {
http_response_code(404);
}
} else {
http_response_code(401);
}
break;
case "processlogin":
if($_SESSION['user_session']->userloginstatus()) {
$studentnumber = $_POST['studentnumber'];
var_dump($studentnumber);
//$studentnumber = isset($_POST['studentnumber']) ? $_POST['studentnumber'] : 0;
$_SESSION['user_session']->loginprocess($studentnumber);
http_response_code(206);
} else {
http_response_code(401);
}
break;
default:
http_response_code(400);
break;
}
}
?>
解决方案
推荐阅读
- gitlab - 合并请求批准 API 身份验证
- python - 在列级别删除“空行”(作为第一行)和“索引”
- sql - 如何从 postgresql 数据库表中删除不必要的记录
- c# - 如何将交互式 Windows 服务转换为非交互式 Windows 服务?
- api - Docker 提交并使用 Rancher API 保存
- java - 搜索多个 JSON 文件并根据 Java 中的某些条件提取值
- php - 在 __constructor 中将全局变量设置为类
- sql-server - 选择具有多个非不同父级的重复列
- r - Cumsum 函数和列中贡献最多的记录的 n%
- html - getElementById().click() 不在 if 语句范围内运行