2011-10-18 52 views
0

我有一個.php文件,我試圖執行。它在html表單的'action'部分被引用。爲什麼a.php文件會打開,就好像它是一個html文件,而不是執行?

由於某種原因,當表單提交時,它將在瀏覽器中打開.php文件,就像它是一個html頁面(空白頁面)一樣。

.php文件沒有任何不尋常的東西,但我不確定它是否已經達到了執行它的程度。

我開始form標籤,如下所示:<form action="my_script.php" method="post">

我缺少什麼?

+0

您是否安裝了網絡服務器?從本地文件系統調用一個.php腳本(檢查地址欄中的'file://')是不行的。 – mario

+0

如果你得到一個非常空白的頁面(查看源代碼),那麼在php.ini中將'error_reporting'提升爲'E_ALL',或者檢查服務器'error.log'是否有致命錯誤。 – mario

+0

感謝@Mario,我研究了正在發生的事情(請參閱下面的評論)。 – Matt

回答

0

當您提交表單時,瀏覽器會將數據發佈到由action屬性指定的URL中,作爲該頁面請求的一部分。

你的頁面在my_script.php應該輸出一些HTML。


如果,而不是你看到你的PHP代碼,當您查看此新頁面的來源,那麼PHP不配置在服務器上進行解析。

+0

謝謝@布拉德。我看不到我的PHP代碼,只是一個空白的窗口。如果我查看源代碼,那麼也沒有任何內容,但是不應該有。 php腳本應該設置一個cookie,然後使用'header(「Location:$ HTTP_REFERER」);'將您發送回前一頁。這就是所有內容,但正如我所說,我不確定它是否已經實現了這麼遠 - 腳本沒有運行,它是開放的?... – Matt

+0

已將評論提交... – Matt

+0

@matt:如果你得到一個空白窗口,那麼很可能在你的腳本中存在某種致命錯誤,並且你的PHP關閉了display_errors/error_reporting,所以沒有顯示錯誤消息。 –

1

很可能你的腳本正在執行。默認情況下,將發送HTTP標頭,指示腳本的內容是HTML,因此這就是瀏覽器對待它的方式。但是,如果您實際上沒有發送任何輸出,它將顯示爲空白頁。

如果您希望表單執行某些操作但不打開新頁面,也許您可​​以使用AJAX在不離開頁面的情況下提交表單數據。另外,您也可以只添加在腳本

echo 'Finished :)'; 

結束,讓你知道它已達到了年底,大概做了什麼。

+0

我有同樣的想法。在最後迴應了一些事情,事實上它確實如此 - 這幫助我解決了這個問題(請參閱我上面的最後一條評論)。謝謝。 – Matt

相關問題