今天學習到PHP處理網頁表單提交的數據時,碰到一個巨頭疼的問題,先貼上案例代碼:
html表單部分:
<html> <head> <meta charset="utf-8"><meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> </head> <body> <form action="./index.php" method="post"> 名字: <input type="text" name="fname"> 年齡: <input type="text" name="age"> <input type="submit" value="提交"> </form> </body> </html>
HTML樣式
php部分代碼
歡迎 <?php echo $_POST["fname"]; ?> !<br> <?php echo $_POST["fname"]; ?> !<br> 你的年齡是 <?php echo $_POST["age"]; ?> 歲。你的年齡是 <?php echo $_POST["age"]; ?> 歲。
當我按照習慣方式打開html頁面輸入信息提交后,顯示出了php的源代碼而不是處理結果:
看了看度娘類似問題后,突然靈光閃現,想起我的html頁面是直接在sublime右鍵瀏覽器打開的,這樣就導致了整個處理過程並沒有經過Apache服務器,也就沒有用到php,瀏覽器自己無法解析php代碼,所以直接顯示出了源代碼。
想要正常執行,還是得在瀏覽器地址欄手動輸入localhost……的文件路徑,讓Apache的PHP程序去解析php的代碼才能正常處理,不能偷懶直接運行html頁面,當然從文件夾里直接打開html文件也是不行的啦。改正后,處理結果截圖如下(注意地址欄中的路徑和上圖對比,上圖是本地文件服務器的路徑,下圖才是Apache服務器的正確路徑)
相信像我這樣的有點前端基礎的后端初學者應該大部分會遇到這個問題吧,看見html頁面總想直接打開看效果,而跳過了服務器,以后還是得把思想轉變過來啊!!