2 回答

TA貢獻1796條經驗 獲得超7個贊
您沒有在第 2 行的條件中括號“)”
if(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['PNumber']) && isset($_POST['PostC']) )

TA貢獻1828條經驗 獲得超6個贊
正如這里的許多人所說,您的括號似乎有問題。當你寫出有很多條件的 if 語句時,你應該首先問自己這是否是最好的設置(根據我的經驗,如果經常指向錯誤,或者可以很容易地簡化,則相同的很多條件)。如果不是這種情況(有時你真的必須把它搞定并寫出所有的條件)你應該把它分開,這樣更容易閱讀,更容易看到括號“平衡”的位置,更容易調試。我會這樣寫你的陳述:
if(//opening bracket
isset($_POST['Name'])
&& isset($_POST['Email'])
&& isset($_POST['PNumber'])
&& isset($_POST['PostC']) )//extra incorrect bracket which is now easy to spot
)//closing bracket - in line with the opening bracket {
//do some stuff
}
如果您有更復雜的條件,這將進一步幫助您,例如:
if(
(//first set of conditions
isset(condition_1)
&& isset(condition_2)
) &&
(//second set of conditions
isset(condition_3)
|| isset(condition_4)
)
)
通過這樣做,您可以輕松查看您的條件平衡的位置(即打開匹配關閉)。請記住,您不會因為在一行中獲得所有條件而贏得任何獎品,并且代碼行數更少并不等于代碼更高效,正如您的示例所展示的那樣。
還值得注意的是,你不需要isset每次都寫,isset你可以說isset($var1,$var2,$var3),這和寫你所有的一樣&& issset。
我希望這對您以后的編碼有幫助,并能幫助您更快地進行調試
- 2 回答
- 0 關注
- 143 瀏覽
添加回答
舉報