2010-07-07 42 views
1

我正在爲將表單發送到他們的電子郵件的肉類儲物櫃公司創建訂單。如果您選擇一個項目,則無法選擇其他項目;如T骨和紐約地帶,你可以有一個或另一個,但不是兩個。這是我的代碼的樣子。如果在PHP表單和表單輸出中聲明

<P>T-bone steak <input type="radio" name="T-bone and NY" id="T-bone steak" /> 
or New York Strip steak <input type="radio" name="T-bone and NY" id="New York Strip" /> </p> 

這不會阻止有關人士選擇這兩個,但是當他在他的電子郵件中的意見,他認爲名字=「T骨和NY」,所以他不知道他們選擇的是哪一個。我認爲它會顯示id =「T-bone」或「NY Strip」。我相信有一個更好的方式來做這個if語句。

其次,當他們收到電子郵件時,它具有所選字段的所有字段的名稱,並在後續字詞中進行說明。例如,如果有人選擇肋排的電子郵件會說:

肋排:上

有沒有辦法準確地發送形式爲用戶看到它。也許在圖片,文字文檔或訪問數據庫?我對任何事情都很開放。

如果你想看到它的網址是www.spillvillelocker.com/beef.php

非常感謝你:)

+1

我喜歡這個問題,出於某種原因...牛排和編程..在我生命中的兩個主食。 – Zak 2010-07-07 17:03:03

回答

0

我想你只需要提供一個值=「」屬性顯示每個單選按鈕指定哪個值...同時NAME和ID應該相等。

<P>T-bone steak <input type="radio" name="MEAT1" id="MEAT1" value="TBONE"/> 
or New York Strip steak <input type="radio" name="MEAT1" id="MEAT1" value="NYSTRIP"/>  </p> 
+0

沒有必要對它們進行平等設置。 ID attr甚至不必存在。 – 2010-07-07 16:59:58

+0

你是對的,我想我會這樣做,以避免混淆......特別是對於收音機箱,我可以看到讓他們有所不同,因此您可以對各個選項執行操作。 – Fosco 2010-07-07 17:18:23

0

您需要設置這些輸入的值屬性。 順便說一句,你不應該在名稱屬性中有空格。

+0

好的,只是好奇,name屬性中的空格是幹什麼用的? – Lars 2010-07-07 17:03:20

1

您的代碼應該是這樣的:

<P> 
T-bone steak <input type="radio" name="steak" value="T-bone steak" id="tbonesteak" /> 
or New York Strip steak <input type="radio" name="steak" value="New York Strip" id="nystrip" /> 
</p> 

注意,我有「名」是上是相同的,不同的「價值」。此外,「ID」屬性不應該包含空格,所以我將它們僅更改爲字母數字。

0

除了Mike發佈的內容之外,關於第二個問題,「爲什麼電子郵件會顯示'Prime Rib:on',這又是因爲沒有賦予該元素的值屬性,單選按鈕的默認值爲'on '和‘關’。如果不設置明確的值,你留下了默認值。

有兩件事情,你可以爲此做。

  1. 設置表單元素的顯式值,像

    <input type="radio" name="primeRib" value="Yes"> Prime Rib

這將在電子郵件中顯示爲'primeRib:是'。

  1. 您可以做的第二件事就是使用PHP解析您的響應,只發送您想要的數據。沿着線的東西:

<?php foreach ($_POST as $key=>$value) { if ($value=="off") { continue; } else { $email.="$key\n"; } } ?>

類似的東西會跳過被設置爲「關閉」,併爲每個不變量,它會添加$鍵每個$ _ POST變量( 「name」屬性中的數據)添加到$ email變量中,或者將數據添加到要發送的電子郵件中。有很多事情你可以做,但至少這可以讓你只對變量進行過濾/檢查。