来自表单的PHP条件语句

时间:2016-09-23 00:33:00

标签: php html forms function

如何使下面的声明有效。我有一个表格,将值发布到我的function.php。我是否可以将.html文件作为内容包含在function.php而不是前往位置?我是新生,学习困难。

<?php
    if ($_POST['city'] = 'london'){
     header('Location: london.html');
    }
    if ($_POST['city'] = 'manchester'){
    header('Location: manchester.html');
    }
    if ($_POST['city'] = 'conventry'){
    header('Location: coventry.php');
    }
    exit;

?>

2 个答案:

答案 0 :(得分:0)

你必须在if语句中使用==,而不是=。

试试这个,

<?php
    if ($_POST['city'] == 'london'){
      header('Location: london.html');
    }
    if ($_POST['city'] == 'manchester'){
      header('Location: manchester.html');
    }
    if ($_POST['city'] == 'conventry'){
      header('Location: coventry.php');
    }
    exit;
 ?>

查看以下链接以获取更多信息。     https://www.tutorialspoint.com/php/php_decision_making.htm

答案 1 :(得分:0)

如果您只是将位置中的值用作目标的直接交换 - 您根本不需要任何ifs - 只需将变量放在该位置:

<?php
  $city = $_POST['city'];
  header('Location:' . $city . '.html');
  exit;
?>

//$city = london;
//header('Location:london.html');

如果您有不同的文件扩展名 - 例如您在此处显示的.html和.php - 那么您可以使用switch语句来减少if语句:

   <?php
      $city = $_POST['city'];

      switch ($city) {
        case "london":
            header('Location: london.html');
            break;
        case "manchester":
            header('Location: manchester.html');
            break;
        case "coventry":
            header('Location: coventry.php');
            break;
        default:
            echo "Your destination did not match any of our available cities";
      }
   exit;
    ?>