1.指定访问域名,设置响应头 响应类型
header('Content-Type: text/html;charset=utf-8');
// 指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
// 响应类型
header('Access-Control-Allow-Methods:POST');
// 响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
2.配置数据库参数,连接数据库
数据库配置:
$host = "127.0.0.1";
$username = "root";
$password = "root";
$database = "表名称";
连接数据库并设置数据库字符集:
// 连接数据库
$conn = new mysqli($host, $username, $password, $database);
if ($conn->connect_error) {
die("数据库连接失败" . $conn->connect_error);
}
// 设置字符集
mysqli_set_charset($conn, "utf8mb4");
3.获取get请求参数
获取get请求url后缀参数的值:
// get请求
$type = $_GET["type"]; // 获取连接中?type= 之后的参数
$para = $_GET["para"]; // 获取连接中?para= 之后的参数
获取到值进行相应操作:
// 若type值为hello
if ($type="hello") {
// 数据库查询
$sql = "SELECT * FROM hello";
$result = $conn->query($sql);
// 若数据不为空
if ($result->num_rows > 0){
$data = array();
while($row = $result->fetch_assoc()){
$data[] = $row;
}
// 转为json格式
$res_data = json_encode($data);
// 设置响应头 告知返回为json数据
header('Content-Type: application/json');
echo $res_data;
} else {
echo json_encode('表数据为空'); // 无结果
}
}
4.获取post请求体
获取post请求参数
// 获取 POST 请求体内容 json格式数据
$postData = file_get_contents('php://input');
// 解析 JSON 为PHP数组 去掉true则为php对象 php对象可用$data->username获取值 php数组可用$data["username"]获取值
$data = json_decode($postData, true);
校验请求体
// 响应客户端
if ($data["username"] == "admin" && $data["password"] == 123) {
$response = ['status' => 'success', 'message' => 'post请求成功', 'data' => [$data]];
echo json_encode($response);
}
// 数据库添加数据
if ($data["username"] == "admin" && $data["password"] == 123) {
$sql = "INSERT INTO pp_hunan_edu.event_logging_7 (`pid`,cpid,`event`,param1,param2) VALUES
('diJia','M78','CP2305051','原神','启动!');";
// 请求参数 type=hi
if ($conn->query($sql) === TRUE) {
echo "添加成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}