沃梦达 / 编程问答 / php问题 / 正文

PHP 标头位置无法正常工作

PHP Header Location Not Working Properly(PHP 标头位置无法正常工作)

本文介绍了PHP 标头位置无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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.

这篇关于PHP 标头位置无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:PHP 标头位置无法正常工作

基础教程推荐