php取得不到表單資料的解決方法:1、找到php.ini設定檔並將「enable_post_data_reading」前的分號去掉;2、將專案建立在Apache伺服器的工作目錄下;3、從PhpStorm開啟瀏覽器調試程式。
本文操作環境:Windows7系統、phpstorm 2020版,Dell G3電腦
php取得不到表單數據怎麼辦? php表單提交時取得不到post資料的解決方法
##部落客運行php環境:windows phpstorm xampp
初學php,用echo $_POST["variable"]和var_dump ($_POST) 都取得不到post資料。
解決方法如下:
1.找到php.ini 設定檔,尋找enable_post_data_reading變量,確保其開啟狀態,並且該語句前面的分號要去掉(有分號的語句是註解語句):
#2.觀察你的執行php的瀏覽器位址,會發現在PhpStorm中開啟瀏覽器所使用的服務連接埠號碼是63342(URL是localhost:63342/這樣的形式)
因此問題的原因在於:PhpStorm預設使用的是自帶的內部伺服器,卻不使用xampp裡面的apache伺服器。 phpStorm這個內建伺服器使用63342端口,而且伺服器內部有問題,導致POST方法異常;而如果把項目放在Apache伺服器的工作目錄下,在地址列輸入localhost,此時使用的是Apache伺服器,預設端口號為80,Apache伺服器可以正常運作程式。
既然PhpStorm內部伺服器有問題,那麼解決方法就是想辦法不使用內部伺服器。有兩種方法:
1.將專案建立在Apache伺服器的工作目錄下,每次執行時在瀏覽器網址列直接輸入localhost位址
2.如果仍希望透過從PhpStorm開啟瀏覽器調試程序,可以透過更改配置實現:
(1)首先將apache伺服器目錄映射到本地目錄
做法如下:
1. 找到/xampp/apache/ conf/httpd.conf 檔案
2. 找到
程式碼區塊
3. 在
的子級加上如下程式碼:
# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名
# "E:/phpworkspace/" : 这个是目录的绝对路径
Alias /phpworkspace/ "E:/phpworkspace/"
# 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下phpworkspace文件夹里的项目了
登入後複製
4. 在與 同級的地方加上一段代碼, 如下:
<Directory "E:/phpworkspace/">
AllowOverride All
Options Indexes FollowSymLinks Includes ExecCGI
Require all granted
</Directory>
登入後複製
完工. 現在重啟Apache, 訪問: http://localhost/ phpworkspace/ 就可以了
(2)然後在PhpStorm中,依序找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,點選綠色的加號新增本機伺服器,名字localhost就好了,Type選擇In place:
建立完成後,右側Connection標籤下預設的設定已經將伺服器設定為80埠下的Apache伺服器,即http://localhost
將其改成你對應到本機專案的工作目錄:
Mappings標籤下的Local path設定成你本地專案的目錄:
#此時從PhpStorm點擊瀏覽器,訪問的URL已經沒有了63342埠這個字段,而是使用了本地Apache伺服器,對應的表單資料也可以正常接收了
推薦學習:《PHP影片教學》
以上是php取得不到表單資料怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!