[請益] POST 接收值 發生錯誤

看板PHP作者 (真。假凱文)時間13年前 (2010/08/29 10:46), 編輯推噓4(4021)
留言25則, 7人參與, 最新討論串1/1
<form name="formupdata" method="post" action="update_user_finish.php"> <tr> <td>帳號</td> <td><?php echo $row['帳號']; ?><input type="hidden" name="id" value="<?php echo $row['編號']; ?>" /></td> </tr> <tr> <td>生日</td> <td><input type="text" name="生日" id="date1" value="" /> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="button" value="確定修正資料" /> </td> </tr> </form> 中間有略過一些程式碼 想問說 在update_user_finish.php 為什麼唯獨生日這一項目會失敗 Notice: Undefined index: 生日 in XXXXXX 生日欄位 我用過 date、day、生日 通通失敗 密碼、帳號、mail 這些都可以post成功 所以在這邊問問了 真的抓這個bug找好久了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.185.30 ※ 編輯: jakevin 來自: 114.36.185.30 (08/29 10:48)

08/29 12:08, , 1F
1. 變數名稱請盡量不要用中文。(未來會有太多問題
08/29 12:08, 1F

08/29 12:09, , 2F
2. 你是用什麼方式拿欄位的?($_POST['birthday']這樣?)
08/29 12:09, 2F

08/29 12:09, , 3F
3. 為什麼不用birthday呢?(無聊問題 XD
08/29 12:09, 3F
$birthday = $_POST["生日"];

08/29 12:10, , 4F
覺得要有PHP Code才能真正找到問題。
08/29 12:10, 4F

08/29 12:49, , 5F
光從html看不太出來有什麼問題 為什麼收不到值?怪
08/29 12:49, 5F

08/29 12:50, , 6F
你至少要把出現問題那個行的php po 上來才對吧
08/29 12:50, 6F

08/29 12:50, , 7F
你連取值都有問題的 php 碼 也沒多值錢的
08/29 12:50, 7F

08/29 12:52, , 8F
使用中文應該跟能不能接收沒太大關係 但最好是用英文
08/29 12:52, 8F

08/29 15:49, , 9F
..... 變數中文?該不會被 MSSQL 帶壞的吧....
08/29 15:49, 9F

08/29 19:10, , 10F
欄位取叫date, day? 為什麼老是看到這麼天才的問題
08/29 19:10, 10F

08/29 19:11, , 11F
這就像生一個小孩取名叫「小孩」一樣 太普通的字根本不
08/29 19:11, 11F

08/29 19:12, , 12F
應該拿來當欄位或變數名 就不會想個 `bdate` 嗎
08/29 19:12, 12F
※ 編輯: jakevin 來自: 112.78.94.197 (08/29 20:23)

08/29 20:24, , 13F
變數我都是用英文 只是這個生日不能接收的問題 我試過很
08/29 20:24, 13F

08/29 20:24, , 14F
多方法 變成中文 這只是剛剛測試的方法之一 不然我也不會
08/29 20:24, 14F

08/29 20:25, , 15F
拿中文來當變數名稱
08/29 20:25, 15F

08/29 22:37, , 16F
中文變數是允許的..UTF-8編碼範圍是符合PHP變數規則
08/29 22:37, 16F

08/29 22:39, , 17F
問題不是你用中文變數..而是陣列索引值用生日這個字串錯誤.
08/29 22:39, 17F

08/29 22:43, , 18F
不過我測試也是可以呀?你要不要PO全部出來看阿...
08/29 22:43, 18F

08/29 22:54, , 19F
你可以用print_R($_POST);查看送出來的資料索引值是啥..
08/29 22:54, 19F

08/29 23:17, , 20F
post陣列索引是中文不是問題.. 真怪 怎麼會取不出來..
08/29 23:17, 20F

08/29 23:18, , 21F
難道post出去後 生日兩字又被重新編成像亂碼一樣?'
08/29 23:18, 21F

08/30 04:59, , 22F
如果乖乖用 ` 刮起來, date 也是可以 :p
08/30 04:59, 22F

08/30 09:07, , 23F
我另一個頁面用同樣語法寫 是正常可以使用 偏偏這個不行
08/30 09:07, 23F

08/30 09:24, , 24F
我暫時把日期改成下拉式選單了 orz
08/30 09:24, 24F

08/30 09:24, , 25F
用三個下拉式得到的值 轉成一個字串送出去
08/30 09:24, 25F
文章代碼(AID): #1CUSeXCD (PHP)