【问题标题】:MAMP PHP Mac OSX Header Not workingMAMP PHP Mac OSX 标头不工作
【发布时间】:2012-09-10 22:03:41
【问题描述】:

我在运行 10.6.8 的 Mac 桌面上安装了 MAMP。我使用dreamweaver 作为IDE 来开发我的网站。我用 php 编写了我的网页,我可以在浏览器中预览它,我可以看到一切,所以服务器和那些东西可以工作。但在我的第一页我有这一行:

session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (!empty($_POST["Reg_type"])) {
        $_SESSION["regtype"]=$_POST["Reg_type"];
        header("Location: Page2.php");
        var_dump($_SERVER);
    }
}

因此,一旦用户从表单中选择了一个单选按钮并单击提交,它就会将他们带到第二页。我知道它正在进入带有标题的循环,但由于某种原因它无法重定向到 page2。当我单击一个选项并单击提交时,它会再次转到第 1 页。我认为处理会话的标头重定向的 php.ini 文件可能存在问题,我不知道。我是mac的新手。有谁知道是什么问题?谢谢

【问题讨论】:

  • 如果你要去那里,为什么这个表单处理代码不在Page2.php脚本中?
  • 能否提供表单代码?
  • 从技术上讲,Location: Page2.php 是无效的。 RFC 1945 需要绝对 URI,而不是相对 URI。但这可能不是这里的问题。

标签: php session redirect http-headers dreamweaver


【解决方案1】:

如果 Dreamweaver 自动生成了您的代码,请检查声明表单标签的行。如果它看起来像:

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

然后 page1.php 将重新加载,因为它正在调用自己。将表单标签更改为

可能会更干净
<form method="POST" action="page2.php"> 

并删除整个 if 语句。

提交时 page2.php 将被加载,并且该脚本/页面将有 $_POST['Reg_Type'] 可用于处理。然后,如果您需要将 $_POST['Reg_Type'] 分配给会话变量,我会在 page2.php 上进行。

顺便说一句,以上都不是 Mac 独有的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2016-03-04
    • 2023-03-31
    • 1970-01-01
    • 2023-03-20
    • 2012-08-15
    相关资源
    最近更新 更多