2013-11-21 39 views
1

在閱讀W3Schools chapert驗證之後,我已經通過使用send self方法和必需的字段以及電子郵件驗證工作來設置我的表單和驗證。驗證後如何獲取表單發送?

但我現在有點卡住關於如何獲得有效的數據發送到下一個步驟,這將是包含我的電子郵件地址,我原來的PHP文件..

我一直在使用這個但沒有試過果:

//if valid then redirect 

if($valid){ 

header('Location: http://somewhere.co.uk/testvalidation2.php'); 

exit(); 

    } 

} 

如果有人能幫助我我會如此感激,因爲我很新的PHP的。 感謝您的閱讀。

+0

您需要使用某種方法 - cookie或querystrings來傳遞數據。 – Tim

+2

http://w3fools.com/ – Rogue

+0

你好,謝謝你回覆我:)基本上,我設置了表單,只是發佈到PHP的HTML文件,我通過我的收件箱得到了結果。現在我的客戶要求我在表單中包含正確/有效的電子郵件地址和一些必填字段的驗證,因此我想要驗證的表單現在發送到包含我的電子郵件地址的原始PHP中,以便它可以發送到我的收件箱.. –

回答

0

如果你想要做一個自我提交的文件,那麼你只需要瞭解你的頁面服務於多個目的。起初有點令人困惑,但是當你得到它時,這是有道理的。您的網頁必須能夠:

  • 顯示最初
  • 驗證數據
  • 做一些事情(發郵件),如果數據良好

雖然你可以將數據發送到驗證另一頁(正如另一個答案中所解釋的),您也可以在一個頁面中實現類似下面的基本邏輯/僞代碼:

IF submit button not pressed //(first time in, just show page) 
    $showform=true; //to be used later to show the form or not 
ELSE //must check data 
    IF (DATA IS GOOD) 
     //do your emailing 
     $showform = false; //All is good, don't show form - maybe just success message 
    ELSE 
     //create an error message 
     $showform=true; //need to show form again 
    ENDIF 
ENDIF 

IF ($showform) 
    //show the html form - sticky form is usually preferable. 

希望這樣做有一定意義...

+0

嗯所以基本上...我可以添加到PHP ,如果驗證是好的,發送到電子郵件地址? –

+0

對不起,如果我聽起來很困惑,因爲我很大聲笑 –

+0

是的,確切地說 - 如果驗證是好的,發送電子郵件,如果驗證不好,則顯示一條消息,或者只是在他們第一次看到頁面時顯示錶單。這是一個自我提交表單。我已經爲我上課的一堂課做了一個視頻 - www.youtube.com/watch?v=ffCY-yi3W6U –

1

不要重定向,你會丟棄你有的任何POST數據(並且通常沒有太多的事情要驗證那些不會被存儲的輸入,這是POST的目的)。

只需將表單處理邏輯放在同一頁面即可。

如果你喜歡,你可以把它放在不同的文件和include()

+0

同意,我只是覺得他們需要更多關於「表格處理邏輯在同一頁」的信息... –

相關問題