gpt4 book ai didi

php - 为什么 die() 函数不起作用?

转载 作者:行者123 更新时间:2023-11-28 12:34:42 28 4
gpt4 key购买 nike

我有一个 ajax 调用,它将数据从表单发送到 php 文件,然后该文件将该数据插入到数据库中。我在上述 php 文件中调用了 die,因为我想尝试一些东西,但它不起作用。

addUserForm.php

<script>
$(document).ready(function () {
var $form = $('form');
$form.submit(function (event) {
event.preventDefault();

var formData = $form.serialize(),
url = $form.attr('action');

$.ajax({
type: "POST",
url: url,
data: formData,
success: function () {
//$("#div1").load("table.php");
alert('User Successfully Added');
document.getElementById("form1").reset();
}
});
});
});
</script>

这是 php 文件:

addUser.php

<?php
include('sqlconnection.php');
die('here');
$firstname = $_POST['fname'];
$lastname = $_POST['lname'];
$middlename = $_POST['mname'];
$password = $_POST['pword'];
$username = $_POST['uname'];
$gender = $_POST['gender'];
$utype = $_POST['utype'];

$query = "INSERT INTO user (firstname,lastname,middlename,gender) VALUES ('$firstname','$lastname','$middlename','$gender')";

mysqli_query($con,$query);

$result = mysqli_query($con,"SELECT id FROM user WHERE firstname = '$firstname'");

$row = mysqli_fetch_assoc($result);

$uid=$row['id'];

$result = mysqli_query($con,"INSERT INTO accounts (u_id,username,password,account_type) VALUES ('$uid','$username',md5('$password'),'$utype');");

?>

即使在 adduser.php 中有 die 调用,它仍然会提醒用户已成功添加。

最佳答案

这是因为 die() 仅终止/结束 PHP 脚本。从 AJAX 的 Angular 来看,请求仍然成功。

您应该在 PHP 页面中回显信息,然后在 AJAX 中输出响应内容。

您还可以将 PHP 脚本中的响应 header 设置为 200/OK 以外的其他内容,例如 401/Unauthorized 或 400/Bad Request。基本上所有 400 和 500 状态代码都表示错误。

关于php - 为什么 die() 函数不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com