gpt4 book ai didi

PHP 重定向不适用于包含 SQL 查询的脚本

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

好吧,我已经研究这段代码 16 多个小时了,但我找不到问题出在哪里。在你说什么之前——我知道我很容易受到 SQL 注入(inject),我需要设置更多准备好的语句;一旦我让代码工作,我的下一步就是解决这些问题。我也知道我需要将 TRUE 和 303 参数添加到 Header 调用中 - 我只是想让它在此时运行。

在我开始着手消除刷新时提交表单并在末尾添加重定向之前,代码一直运行良好。

出现问题的页面称为 updateorder.php,这是它的 Pastie 链接:http://pastie.org/9188291

我创建了一个名为 Issue.php 的页面,以将每个人都从页面中转移出来,并消除任何 html 代码输出的可能性。那没有帮助。我从末尾删除了 ?> PHP 结束标记,因为所有代码都是 PHP 并且消除了任何空白的可能性。这也没有帮助。

之前的页面有几个提交按钮。此页面查看按下的按钮并在满足 IF 的条件时运行代码。

  • 当我使用 DeleteThisOrder 按钮提交表单时,它运行良好。
  • 当我使用 PrintOnly 按钮提交表单时,它运行良好。
  • 当我使用 UpdateOnly 按钮提交表单但 $ThisStatus <>1 时,它运行完美。

问题如下:

如果我点击 UpdateOnly 按钮并且 $ThisStatus ==1,那么它会保留在这个页面 (updateorder.php) 上并且屏幕是空白的。如果我使用 UpdateCommit 按钮,就会发生确切的事情。

当它运行 UpdateOnly 脚本的这个特定部分时发生了一些事情:抱歉,我没有 10 的声誉,所以它不会让我提供更多链接。这是 Pastie 编号,您可以在上面的 Pastie 链接中替换以查看此部分的代码:9188298

在运行 UpdateCommit 脚本的这个特定部分时会发生一些事情:抱歉,我没有 10 的声誉,所以它不会让我提供更多链接。这是 Pastie 编号,您可以在上面的 Pastie 链接中替换以查看此部分的代码:9188306

无论它在做什么,都会导致它无法重定向。 SQL 代码执行并完成它在数据库中应该做的所有事情;它正在更新订单,它正在更新库存 - 所有这些都执行得很好 - 它只是没有重定向,它在重定向之前停在脚本的某个地方,给我留下了一个空白屏幕。

我已经在网站上进行了高级搜索,并使用关键字 PHP、MySQL、Redirect 查看了所有我能找到的东西,但不知道为什么它不起作用。我逐行检查了这段代码以寻找空白,尝试使用整个网站地址进行重定向,在冒号和标题中的链接之间添加了一个空格......我已经尝试了很多东西。我什至尝试过不健康的事情,比如用我的头撞我的 table ,用我的手掌敲我的头,拉我的头发……没有结果。非常感谢您抽出时间。

以防万一 - 这是我所需的数据库连接文件中的代码:抱歉,我没有 10 个信誉,所以它不会让我提供更多链接。这是 Pastie 编号,您可以在上面的 Pastie 链接中替换以查看此部分的代码:9188351

顺便说一下...您可能会说我仍在学习,所以它可能还不是“漂亮的代码”,但我正在努力实现这一目标。再次感谢您的帮助。

最佳答案

在开发过程中,将错误报告添加到文件顶部

error_reporting(E_ALL);
ini_set('display_errors', 1);

如果在您的代码中发现任何错误,这将发出信号。

根据您评论中的错误消息:

摆脱那个Cannot modify header information - headers already sent...消息,地点

<?php session_start(); ?><?php // rest of your code...作为您的第一行代码,同时摆脱现在所在的另一行代码,然后是其余代码。确保上面没有任何内容,HTML 等,包括任何空格。如果您仍然收到该错误消息,请确保将其保存为不带 BOM 的 UTF-8。 (查阅脚注)

对于 Notice: Undefined index: UpdateOnly错误消息,请确保您的表单元素的命名没有拼写错误。 IE。 name="UpdateOnly" --- UpdateOnlyupdateonly 不同PHP 区分大小写。

至于你的$result->free();你提到你没有那个功能,所以把它删除。


脚注:

  • BOM(又名字节顺序标记)

有关此主题的更多信息,请访问:https://en.wikipedia.org/wiki/Byte_order_mark

有关错误报告的更多信息,请访问:http://php.net/manual/en/function.error-reporting.php

关于PHP 重定向不适用于包含 SQL 查询的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23729562/

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