gpt4 book ai didi

mysql - 当表单操作位于同一页面时查询有效,而不是重定向到另一个页面时有效

转载 作者:行者123 更新时间:2023-11-29 18:25:46 24 4
gpt4 key购买 nike

我有一个从表单获取数据的查询,当按下提交按钮时,数据应该存储在数据库中。当表单的操作为 action="#" 时,数据将输入到数据库中。但是,当操作为 action="otherPage.php" 时,数据不会插入到数据库中。有什么帮助吗?

旁注:我知道需要更改查询以对抗 SQL 注入(inject),这仅用于测试

代码:

if(isset($_POST['submit']))
{
$name = $_POST['fullName'];

$idNumber = $_POST['idNo'];
$cardNo = $_POST['cardNo'];

$_SESSION['fullName'] = $name;
$_SESSION['id'] = $idNumber;

$checkExists = "SELECT * FROM system.table WHERE idNumber = '$idNumber' ";
$resExists = mysqli_query($connection,$checkExists)
or die("Error in query: ". mysqli_error($connection));

if(mysqli_fetch_assoc($resExists) > 0)
{
$updateCard = "UPDATE system.table SET cardNo = '$cardNo' WHERE idNumber=$idNumber";

$resUpdate= mysqli_query($connection,$updateCard)
or die("Error in query: ". mysqli_error($connection));
}

if(mysqli_fetch_assoc($resExists) < 1)
{
$company = $_POST['company'];
$name = trim($name);
$last_name = (strpos($name, ' ') === false) ? '' : preg_replace('#.*\s([\w-]*)$#', '$1', $name);
$first_name = trim(preg_replace('#'.$last_name.'#', '', $name));

$insert = "INSERT INTO system.table (idNumber,name,surname,company,cardNo) VALUES
('$idNumber','$first_name','$last_name','$company','$cardNo')";

$resInsert = mysqli_query($connection,$insert)
or die("Error in query: ". mysqli_error($connection));
}



$connection->close();
}

最佳答案

我不知道这是否是解决这个问题的正确方法,但它确实有效。我在代码开头添加了 ob_start();,将操作保留为

<form role="form" method="POST" action="#"> 

然后包含

header('Location:otherPage.php'); 

使页面自动重定向到otherPage.php

关于mysql - 当表单操作位于同一页面时查询有效,而不是重定向到另一个页面时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46212831/

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