PHP 标头位置无法正常工作

2022-01-21 00:00:00 radio-button forms php html

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

Can someone point me out why the below isn't working? It only redirects to the first location even if I choose different radio buttons.

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>

推荐答案

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

You have to use the comparison operator == instead of =

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() 也是多余的,因为您已经重定向到另一个页面.

Also, the exit() is also redundant as you are already redirecting to another page.

相关文章