我有一個php頁面,我試圖簡化並遇到一些我無法單獨通過的問題。我的表單將用戶數據,發佈到自身,驗證字段已填寫,然後將表單內容/帖子顯示到mysql數據庫。如果聲明在Foreach循環中
我遇到的問題是,我不想讓20個if()/ elseif語句將變量名加載到數組中,通過該數組循環,並且如果變量未在表單中填充,產生一條錯誤信息。不幸的是,無論字段是否有值,我的代碼都會顯示錯誤消息。
作爲一個附加說明,我可以將$ ShippingCo添加到我的表單中並回顯它,但是它尚未完成的通知仍顯示出來。
此外,如果腳本輸入if語句,我希望它在關閉後停止執行頁面的其餘部分我試過退出;沒有成功。
以下是我有:
<?php
$ShippingCo = $_POST['ShippingCo'];
$ShipAcct = $_POST['ShipAcct'];
$ShipService = $_POST['ShipService'];
$FOB = $_POST['FOB'];
$Terms = $_POST['Terms'];
$ENote[] = '$Terms';
$ENote[] = '$FOB';
$ENote[] = '$ShippingCo';
$ENote[] = '$ShipAcct';
$ENote[] = '$ShipService';
$Emessg[] = 'Shipping Terms';
$Emessg[] = 'FOB Method';
$Emessg[] = 'Shipping Company';
$Emessg[] = 'Shipping Account';
$Emessg[] = 'Shipping Service Type';
foreach ($ENote as $a => $b) {
if(!$$ENote[$a]){ //I intentionally put the '$$' in this line otherwise none of the messages show. . . with data in the variables or not.
$error = "Error! Please Add the $Emessg[$a]!";
?>
<table width="800" align="center">
<tr>
<td align="center">
<h2>Sales Order Entry Form</h2>
</td>
</tr>
<tr>
<td align="center">
<h3>
<font color="red">
<?php
echo "$error";
?>
</font>
</h3>
</td>
</tr>
<tr>
<td align="center">
Please press back to properly complete the form</td>
</tr>
</table>
<?php
}
}
?>
預先感謝您。
阿斯克爾知道,並且實際上是在利用它。 – 2012-07-13 23:37:34