PHP 中的 If 语句

If Statements in PHP

我有一段代码可以检查我在表单上的所有输入是否都选择了一个值,但它似乎会不断产生错误,而且我看不出问题所在。这是代码:

<?php
if($_POST['name'] != ""){
    if($_POST['degree'] != ""){
        if($_POST['grades'] != ""){
            if($_POST['values'] != ""){
                if((($_POST['values1'] != "") and ($_POST['values2'] != "")) or (($_POST['values1'] != "") and ($_POST['values3'] != "")) or (($_POST['values2'] != "") and ($_POST['values3'] != ""))){
{$_POST['name'] = "";
$_POST['degree'] = "";
$_POST['grades'] = "";
$_POST['values1'] = "":
$_POST['values2'] = "":
$_POST['values3'] = "":
$_POST['thoughts'] = "":}}}}}}
?>

你用冒号而不是分号结束了几个语句:

$_POST['values1'] = "": <-- HERE
$_POST['values2'] = "": <-- HERE
$_POST['values3'] = "": <-- HERE

PHP 错误消息肯定告诉你了。

-> 您可以使用 &&:

将所有这些语句减少为 'and' 语句
if($_POST['name'] != ""){
    if($_POST['degree'] != ""){
        if($_POST['grades'] != ""){
            if($_POST['values'] != ""){
                //etc
//Will be:
if($_POST['name'] != "" && $_POST['degree'] != "" && /*etc. */){

-> 在检查 $_POST['a'] 的值之前,您应该检查 isset($_POST['a'])

-> 将所有 $_POST 设置为 "" 会完成什么?

-> 您使用的是冒号 :,而不是分号 ;.

-> 为什么要这样做?