幫助!我有一些麻煩,獲取一些條件語句到我的PHP腳本的表單。只有在_POST填入時纔將內容發送到變量
這是HTML的要點:
<input type="text" name="address1" id="address1" class="required" />
<input type="text" name="address2" id="address2" />
<input type="text" name="city" id="city" />
<input type="text" name="postcode" id="postcode" class="required" />
,而PHP的看起來有點像這樣:
$address1 = $_REQUEST["address1"] ;
$address2 = $_REQUEST["address2"] ;
$city = $_REQUEST["city"] ;
$postcode = $_REQUEST["postcode"] ;
$message =
"address: $address1, " .
"$address2, " .
"$city, " .
"$postcode" .
$sent = mail($to, $subject, $message, 'From:' . $email_address) ;
我已經有了 '地址1' 和 '郵政編碼',所以一些jQuery驗證他們不是一個問題,因爲他們總是會返回一個值。如果「地址2」和「城市」未填寫(也許填表人沒有第二行到他們的地址,或者沒有按照他們的想法放入城市 - 正確 - 郵政編碼是足夠的在找到他們的地址時),他們仍然在電子郵件上返回一個值('沒有')。
我想要發生的是對於留空的表單輸入,根本沒有電子郵件。換句話說,如果$ address2變量是空的,不要給我發送「空格」。例如,如果這一切都完成我得到這個,這是偉大的:
地址:1測試大街,倫敦西區,測試城市,AB1 23C
如果有一個領域缺少我會得到這一點,這是一個有點亂:
地址:1測試街,試驗城市,AB1 23C
,但我想這一點,因爲它的漂亮整潔:
地址:1測試街,測試城,AB1 23C
我一直試圖讓我的頭圍繞isset函數,但沒有任何運氣。我也嘗試了一個基本的'如果'的聲明,但似乎無法得到任何地方。我必須承認,php不是我的強項,我花了很多時間在這方面沒有成功。非常感激你的幫助!
非常感謝,
馬丁。
您的代碼似乎易受電子郵件標頭注入的影響。另外:''我在'address1'和'postcode'上有一些jQuery驗證,所以它們不是問題,因爲它們總是會返回一個值。「」你不能相信客戶端驗證按照你的意願工作如果他們願意,用戶可以繞過它或製作自己的表格。 – Hammerite 2011-04-06 12:13:09
如果您使用客戶端來首先顯示錶單,則可以繞過它。 – 2011-04-06 13:10:43