php表單提交時獲取不到post資料的解決方法

2022-09-17 19:57:12 字數 1729 閱讀 9155

原文:

博主執行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. 在的子級加上如下**:

[plain]view plain

copy

# /phpworkspace/ : 其它磁碟上目錄的別名, 就是你想對映過來的目錄的別名  

# "e/phpworkspace/" : 這個是目錄的絕對路徑  

alias /phpworkspace/ "e/phpworkspace/"  

# 現在就可以通過 //localhost/phpworkspace/ 訪問到 e盤下phpworkspace資料夾裡的專案了  

[plain]view plain

copy

allowoverride all  

options indexes followsymlinks includes execcgi  

require all granted  

完工. 現在重啟apache, 訪問 : http://localhost/phpworkspace/ 就可以了

(2)然後在phpstorm中,依次找到file->settings->build, execution, deployment->deployment,初始是空的,點選綠色的加號新增本地伺服器,名字localhost就好了,type選擇in place:

建立完成後,右側connection標籤下預設的設定已經將伺服器配置為80埠下的apache伺服器,即http://localhost

將其改成你對映到本地專案的工作目錄:

此時從phpstorm中點選瀏覽器,訪問的url已經沒有了63342埠這個字段,而是使用了本地apache伺服器,相應的表單資料也可以正常接收了

php 表單提交

因為最近在學php,之前一直在寫c 今天來對比下c 和php的表單提交,也作為自己學php的記錄 c 以post提交資料 這裡我就只寫後台對資料的處理了,home頁面 public void home string start php 以post 提交資料 提交到 controller.php 接下...

表單提交獲取資料

前言 新增常見功能,需要新增一條資料對應pojo類的字段,因為通過 val 來取值實在有點麻煩,看上去也顯得臃腫,所以我們可以選擇用form表單提交 1.輸入框或者其他的表單元件的name都以pojo類的字段來命名,如下 2.提交按鈕應為input標籤,其中的type最好為 button ajax有...

php提交表單處理,PHP表單處理

我們可以在php中建立和使用表單。要獲取表單資料,需要使用php超級元組 get和 post。表單請求可以是get或post。要從get請求中檢索資料,需要使用 get,而 post用於檢索post請求中的資料。php get表單 get請求是表單的預設請求。通過get請求傳遞的資料在url瀏覽器上...