2011-08-22 111 views
-1

我的聯繫表單工作正常,但當您按下提交時,它會下載PHP文件。PHP聯繫表

<form name="contactform" method="post" action="send_form_email.php"> 

這是提交按鈕:

<input type="submit" name="button" class="button" value="Send"> 

如果這應該發生在離線模式則沒關係。

+0

如果是這種情況,PHP服務器上不會被解析。 (您正在使用網絡服務器,對吧?)無論如何,如果您告訴我們您的「離線模式」是什麼意思,那麼我懷疑我們能夠解決問題。 :-) –

+0

POST不應該在離線模式下工作。檢查您的服務器配置,您可能在設置文件擴展名時出錯。 – hakre

回答

0

「離線模式」正在發生,因爲PHP正在被Web瀏覽器直接讀取。您必須將您的PHP文件放在localhost或Web主機中。

0

如果按離線模式你只是表示你已經在瀏覽器中直接從文件系統中打開了腳本,那麼這就是PHP不會通過它的解析器運行的預期行爲。

您需要一個設置爲服務.php腳本的Web服務器。

另一方面,如果這是由Web服務器提供服務,那麼他們的配置是一個問題。

0

這應該永遠不會發生,你的php文件不應該被下載到客戶端計算機。 想象一下你的Web服務器上的配置文件的密碼和東西。

你應該檢查你是否安裝了php並且apache設置是否正確。

0

PHP沒有通過PHP解析器運行 - 或者正在通過頭部發送以強制下載。與託管服務提供商交談。

0

你是什麼意思的「離線模式」?

基本上這裏發生的事情是在HTTP POST中聯繫的Web服務器沒有配置爲處理PHP代碼。所以它只是默認返回請求的文件。您需要配置Web服務器以相應地處理PHP代碼,並且此過程因Web服務器而異(但通常包括installing PHP on the server)。

還應該注意的是,通過不正確地配置服務器,您可能會暴露巨大的安全風險。如果人們可以直接下載PHP文件,那麼他們可以看到服務器應該處理的代碼。一旦您將其配置爲處理該代碼,他們將擁有它的一個副本並可以利用它。更簡單的是,如果代碼包含任何敏感信息(例如用於對數據庫進行身份驗證的憑證),那麼您就會將該信息暴露給全世界。