[英]PHP validation: 4 x 3 optional drop-downs
因此,我必須為以下情況編寫一個錯誤檢查解決方案:
什么是最有效的方法
我知道elseif,但是我認為做上述(a)和(b)點的唯一方法是:
if($dd1g1>0 && ($dd2g1>0 && $dd3g1>0))
{
echo "DD1 of G1 is not blank, and DD2 and DD3 are also not blank.";
// allowed
}
else
{
echo "DD1 of G1 is not blank, but DD2 and DD3 are blank";
// fail
}
為了滿足兩個規則,我將不得不重復3 ^ 4(= 81)次。 有沒有更簡單的方法可以做到這一點?
這就是我最終得到的結果(出於簡潔和安全性進行編輯-是的,我確實在真實代碼中設置了注入安全性):
if($dd1g1==0 && $dd2g1==0 && $dd3g1==0)
{
// Group 1 are all zero, so clear
$sql = "UPDATE blah SET dd1g1='0', dd2g1='0', dd3g1='0' WHERE id='".$blah."'";
}
else
{
// Something is not zero in Group 1, so check they are all NOT zero
if($dd1g1>0 && $dd2g1>0 && $dd3g1>0)
{
// Group 1 are all complete, so check there are no dupes
if($dd1g1==$dd1g2 || $dd1g1==$dd1g3 || $dd1g1==$dd1g4 || $dd2g1==$dd2g2 || $dd2g1==$dd2g3 || $dd2g1==$dd2g3)
{
// There is a duplicate
echo "Duplicates detected";
die();
}
else
{
// No duplicates, so update
$sql = "UPDATE blah SET dd1g1='".$dd1g1."', dd2g1='".$dd2g1."', dd3g1='".$dd3g1."' WHERE id='".$blah."'";
}
}
else
{
// Group 1 is incomplete
echo "Incomplete selection";
die();
}
}
[然后針對第2、3和4組重復]
任何人都可以發現的孔?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.