gpt4 book ai didi

PHP 重定向根本不起作用

转载 作者:行者123 更新时间:2023-11-29 19:33:04 30 4
gpt4 key购买 nike

PHP/SQL 新手,真的很难做到这一点:)。现在,我可以尝试将表单连接到我的 SQL 数据库,一切顺利。但只有 PHP 重定向不起作用。

我尝试并红色了很多有关重定向的内容,例如:“:”之前需要注意的空格,重定向之前不应该加载任何内容。所有人都遵守此规则。

现在我什至怀疑这是我的服务器,所以我尝试了一个仅包含重定向的不同页面,并且似乎可以工作,是的...

与空页面相比,我现在所做的唯一区别是我首先创建一些变量并在 if 语句中使用重定向。

找不到问题,因为在 SQL-DB 中插入或更新记录时的所有回显都工作正常。

<?php include('db-connect.php');

session_start(); $_SESSION['brand_name'] = $_POST['brand'];
$_SESSION['brand_label'] = $_POST['label']; $_SESSION['brand'] =
$_SESSION['brand_name'].".".$_SESSION['brand_label'];


$brand_name = $_SESSION['brand_name']; $brand_label =
$_SESSION['brand_label']; $brand = $_SESSION['brand']; ?> <?php

if (isset($_POST['submit_form_1'])) {

$sqlinsert = "INSERT INTO `brands` (brand, brand_name, brand_label) VALUES ('$brand', '$brand_name', '$brand_label')"; $sqlupdate = "UPDATE brands SET brand_label='$brand' WHERE brand_name='$brand'";



if (!mysqli_query($db_connection, $sqlinsert)) {

if (!mysqli_query($db_connection, $sqlupdate))
{
$submitmessage = 'Record failed to update or insert!';
}
else
{
// $submitmessage = "Record is succesfully updated";
header("Location: Form2.php");
die();

} } else { // $submitmessage = "Record is succesfully inserted"; header("Location: Form2.php"); die(); } } ?> <?php
include 'header.php'; ?>


<table class="main-container" border="0" cellspacing="0"
cellpadding="0"> <tr>
<td>Select a brand to edit:<br />

<form action="Form1.php" method="post">

<select name="brand" id="brand" onchange="populate(this)">
<option value="">--Please select option--</option>
<option value="cheaptickets">brand1</option>
<option value="vayama">brand2</option>
</select>

<select name="label" id="label">
<option value="">--Please select option--</option>
<option value="cheaptickets">test1</option>
<option value="vayama">test2</option>
</select>

<br />
<br />
<input type="submit" value="Select this template!" name="submit_form_1" />
</form>

<span id="info-message">
<?php
echo $submitmessage;
?>
</span>
</td> </tr> </table>

<?php include 'footer.php'; ?>

db-connect.php 包含以下内容:

<?php DEFINE ('db_host', '*******'); DEFINE ('db_user', '*******'); DEFINE ('db_pswd', '*******'); DEFINE ('db_name', '*******');

$db_connection = mysqli_connect(db_host, db_user, db_pswd, db_name);
?>

检查了以下内容:

  • 数据库连接✓检查
  • 不使用重定向消息时效果很好✓检查
  • 重定向前页面上未加载任何内容✓检查
  • 在 SQL-DB 中插入或更新记录✓检查
  • 重定向仅在页面上起作用,只需重定向✓检查

哪位聪明人能告诉我我做错了什么吗?谢谢

最佳答案

我可以在前 10 行中看到至少 7 个糟糕的样式错误。你真的应该访问codereview.stackexchange.com并获得一些指导。

假设我们可以排除BOM markers在代码中,那么您的代码可能有两个地方泄漏正文内容,从而刷新 header 。这两个问题都可以通过修改主脚本来解决:

<?php include('db-connect.php');

session_start(); $_SESSION['brand_name'] = $_POST['brand'];

到....

<?php 
ob_start();
include('db-connect.php');

session_start();
$_SESSION['brand_name'] = $_POST['brand'];

关于PHP 重定向根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41675946/

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