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
设置为 ""
会完成什么?
-> 您使用的是冒号 :
,而不是分号 ;
.
-> 为什么要这样做?
我有一段代码可以检查我在表单上的所有输入是否都选择了一个值,但它似乎会不断产生错误,而且我看不出问题所在。这是代码:
<?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 错误消息肯定告诉你了。
-> 您可以使用 &&
:
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
设置为 ""
会完成什么?
-> 您使用的是冒号 :
,而不是分号 ;
.
-> 为什么要这样做?