【问题标题】:PHP Header Location Not Working Properly [closed]PHP标头位置无法正常工作[关闭]
【发布时间】:2013-09-16 06:14:22
【问题描述】:

有人可以指出为什么以下内容不起作用吗?即使我选择不同的单选按钮,它也只会重定向到第一个位置。

PHP:

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

    if (!empty($_POST['electronics'])) {

        if ($_POST['electronics'] = "camera") {
            header("location: camera.php");
            exit();
        }
        if ($_POST['electronics'] = "cell") {
            header("location: cellphones.php");
            exit();
        }
        if ($_POST['electronics'] = "cable") {
            header("location: cables.php");
            exit();
        }
        if ($_POST['electronics'] = "tv") {
            header("location: tv.php");
            exit();
        }
    }

...

HTML:

<form action="" method="post">
    <input type="radio"  name="electronics" value="cell"/>
    <input type="radio"  name="electronics" value="camera"/>
    <input type="radio"  name="electronics" value="cable"/>
    <input type="radio"  name="electronics" value="tv"/>
    <input type="submit" name="submit">
</form>

【问题讨论】:

  • = !== === 是我能想到的最好的了

标签: php html forms radio-button


【解决方案1】:

您必须使用比较运算符== 而不是=

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

    if (!empty($_POST['electronics'])) {

        if ($_POST['electronics'] == "camera") {
            header("location: camera.php");
        }
        else if ($_POST['electronics'] == "cell") {
            header("location: cellphones.php");
        }
        else if ($_POST['electronics'] == "cable") {
            header("location: cables.php");
        }
        else if ($_POST['electronics'] == "tv") {
            header("location: tv.php");
        }
    }

...

另外,exit() 也是多余的,因为您已经重定向到另一个页面。

【讨论】:

  • 感谢您的帮助。会接受。好的也将删除退出。
【解决方案2】:

= 是赋值。 == 是平等的。你把两者搞混了。

【讨论】:

  • 哎呀,我以为我有两个。谢谢
【解决方案3】:

要添加到其他答案,当您使用赋值运算符 (=) 而不是比较运算符(== 或 ===)时,赋值是从右到左传递的。

所以以下是正确的:

"camera" == $_POST['electronics'] = "camera"

在您的情况下,这足以满足if

这与让您使用一个值进行多个分配的行为相同。

例如:

$foo = $bar = 10;

$foo$bar 都分配了 10。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 2012-12-14
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多