各位大佬,小弟新學php,如圖所示,同樣的變數$name ,用echo輸出則沒有值,而下方從資料庫可以查到輸入的值,請問這是為什麼? ,詳細問題,下附程式碼這是前端頁的ajax請求截圖
你post到后端的时候是个空值吗? 您用echo 为空时就看不到的,您用var_dump($_POST)這樣印一下
post
echo
var_dump($_POST)
前面 那個 name 是從表單取的(即:使用者提交的), 後面那個 name 是來自資料庫裡(而 name 是資料庫的一個欄位)
前面 那個 name 是可以隨便命名的。例如 $a = $_POST['name']; var_dump($a); 如果為空,表示使用者在提交表單的時候,沒有輸入。
後面 那個 $row['name'] 是不能亂寫的。例如:你寫個 $row['abc'] 就沒有值了。因為資料表裡沒有 abc 這個欄位
唔 推薦jquery一個更簡單的ajax post方法
$.post(uri,{'argu':data},function(res){ ...你的回调操作... })
這個方法比較簡潔哦
你$name的賦值是把post的name 賦值過去的所以你想要輸出的name 又資料需要先執行post (也就是說這個處理頁面onlinedb.php 直接存取是不會有輸出的)然後當你執行了ajax操作之後。 post過去了個陣列 這時候 如果你 echo $name; 這行沒有刪除的話應該可以在網路狀態裡看到輸出了東西 如圖
echo $name;
你試試
...你都沒post過去值, 怎麼會有值呢?
1.JS中查看inputname是否有資料哦。 2.瀏覽器debug中看下請求的onlinedb.php中name是否有資料
錯誤等級太高頭部加一句error_reporting(0);
可以使用
>var_dump($name);die();
截斷一下看看!
你最上邊印的是這次傳入的值,下邊遍歷資料庫印製的,你怎麼知道哪條是本次生成的?
邏輯就有錯誤。資料庫查詢的值,不是本次提交的值,是以前插入的
你
post
到后端的时候是个空值吗? 您用echo
为空时就看不到的,您用var_dump($_POST)
這樣印一下前面 那個 name 是從表單取的(即:使用者提交的), 後面那個 name 是來自資料庫裡(而 name 是資料庫的一個欄位)
前面 那個 name 是可以隨便命名的。例如 $a = $_POST['name']; var_dump($a); 如果為空,表示使用者在提交表單的時候,沒有輸入。
後面 那個 $row['name'] 是不能亂寫的。例如:你寫個 $row['abc'] 就沒有值了。因為資料表裡沒有 abc 這個欄位
唔 推薦jquery一個更簡單的ajax post方法
這個方法比較簡潔哦
你$name的賦值是把post的name 賦值過去的所以你想要輸出的name 又資料需要先執行post (也就是說這個處理頁面onlinedb.php 直接存取是不會有輸出的)
然後當你執行了ajax操作之後。 post過去了個陣列 這時候 如果你
echo $name;
這行沒有刪除的話應該可以在網路狀態裡看到輸出了東西 如圖你試試
...
你都沒post過去值, 怎麼會有值呢?
1.JS中查看inputname是否有資料哦。
2.瀏覽器debug中看下請求的onlinedb.php中name是否有資料
錯誤等級太高
頭部加一句
error_reporting(0);
可以使用
截斷一下看看!
你最上邊印的是這次傳入的值,
下邊遍歷資料庫印製的,你怎麼知道哪條是本次生成的?
邏輯就有錯誤。資料庫查詢的值,不是本次提交的值,是以前插入的