我在驗證時遇到了一些問題。我在這裏有這樣的代碼片段:如果在查詢字符串中沒有設置pizza_size
變量,並且產品類別的ID是1(對應比薩餅)或者已設置,但pizza_size
值不等於small
, medium
或big
這需要返回到頁面products.php
與大小沒有被選擇的消息。我試着用:比較相同變量的值時出錯
if(!isset($_GET['pizza_size']) || $_GET['pizza_size'] != "small" || $_GET['pizza_size'] != "medium" || $_GET['pizza_size'] != "big" && $category_id == 1)
{
redirect_to('products.php?message=no-size-informed');
}
else //Add the product
問題是,這是行不通的。即使pizza_size
對應於small
,medium
或big
我收到錯誤消息。但如果我只使用一個比較,這很好,如:
if(!isset($_GET['pizza_size']) || $_GET['pizza_size'] != "small" && $category_id == 1)
{
redirect_to('products.php?message=no-size-informed');
}
但我需要驗證3種尺寸。如何對所有三種可能的變量進行驗證?謝謝!
會發生什麼? if(!isset($ _ GET ['pizza_size'])||($ _GET ['pizza_size']!=「small」|| $ _GET ['pizza_size']!=「medium」|| $ _GET ['pizza_size' ]!=「big」)&& $ category_id == 1) – veelen
AND運算符將首先應用,,,如果$ _GET ['pizza_size']不存在,那麼它會發生錯誤... @Dyan順便說一句,你的錯誤 –
@veelen同樣的事情。即使大小是小的,中等的或大的,我都有錯誤信息。 – Dyan