2012-06-30 41 views
-3

此圖像可能會解釋我的問題enter image description here創建多個結果的php表單

+0

所以你想通過電子郵件發送一個HTML表單到你的用戶,並讓他們在他們的電子郵件客戶端內作出迴應?那種形式必須有邏輯嗎?這不能用PHP來完成。也許用javascript ... –

+0

那麼,你的問題在哪裏?編程形式?發送電子郵件? – Jocelyn

+0

@brian_vanderbusch對不起:(我正在嘗試做什麼是使用戶輸入的形式發送給我作爲電子郵件,但我不知道如何使PHP安全,我將如何設置一個窗體multipul選項 – arranb

回答

2

我剛剛在今天早些時候做了這樣的事情。

<?php 
    $email = "[email protected]"; // your email 
    $subject = "A cool subject!"; // any subject for your email 
    $message = ""; // all of your form data 
    $header = 'MIME-Version: 1.0' . "\r\n" . 
     'Content-type: text/html; charset=iso-8859-1' . "\r\n" . 
     "From: 'MyForm' <[email protected]>" . "\r\n"; 
    $mail_sent = mail($email, $subject, $message, $header); 
    echo $mail_sent ? /*mail sent true*/ 
          "<script type='text/javascript'> 
           alert('Message sent!'); 
           </script>" 
        : /*mail sent false*/ 
          "<script type='text/javascript'>alert('Message failed to send...');</script>"; 
?> 

有人只是今天教我用my question,你不需要逃脫輸入,只要你只在電子郵件發給自己。

+0

作了幾個編輯... –

0

這是非常複雜的答案,而不會詳細介紹機制。這裏有希望至少有一些指標讓你開始。

首先,爲了操縱加載後頁面上顯示的內容,您將不得不使用Javascript。我建議使用庫如jQuery來讓你自己更容易。以下是我如何去做的:

給出所有選擇特定的表單字段/表格行/任何類,例如form_websites,用於在選擇網站時應顯示的字段。所有這些類都應該在具有display:none屬性的css文件中定義,以便默認情況下隱藏它們。

使用jQuery,​​將您的表單中的選擇框以change the display value恢復正常。在您的腳本中,您還需要跟蹤之前選擇了哪個選項,以便您可以將其顯示值更改爲隱藏。有了jQuery,你可以隨心所欲地設計,根據需要爲字段「開放」和「關閉」設置動畫,你可能還想看看諸如jQueryUI的accordion widget 和/或hide effectshow effect

當你的表單被提交時,在你的php代碼中,你需要做任何合理的轉義和/或檢查,以確保你沒有在用戶提交的數據中嵌入惡意代碼。例如,如果某個字段應該是電話號碼,請使用類似於preg_match("/^\[\\d\\s+\\-\\(\\)\]{1,20}$/",$_POST\["phone_number"\])的檢查來確保用戶提交了合法的值。如果沒有,則根據需要忽略或向用戶顯示錯誤頁面。請記住:它是很多比正面斷言(即「它應該適合這種模式」)檢查一個值更容易和更安全,而不是反對負面斷言(也就是說,「它不應該包含這些字符「)。如果你發現自己測試注入HTML標籤,JavaScript代碼等,那麼你可能做錯了,但你可能不得不訴諸自由格式的文本字段。

總之,就像我說的,你要求做的實際上是中度複雜的。具有這種交互程度的網站並不容易編寫,但嘿,這就是網頁設計師賺大錢的原因。 ;)