<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-31  評論-257  文章-0  trackbacks-0
          我在初學PHP期間,學了點入門文章,學了學語法,就想做點小東西來練練手,做什么好呢?就做個購物車吧,頁面都做好了,現在正寫代碼進去,測試運行,但有個小問題,我在產品列表里明明是選了幾個產品的,即是選中了幾個 Checkbox ,checkbox 的名字都是"prodno" 但怎么在PHP里用 $_POST['prodno'] 來獲取它的值,總是只獲取到最后的那個checkbox 的值,為什么?檢查了form幾遍,沒有錯誤,再檢查了PHP幾遍,也沒錯啊[loo](其實是checkbox里的name錯了,當時不知道PHP要這樣),郁悶了,我以前做Java都是這樣寫的呀,有什么問題?做ASP時,也是這樣寫也沒錯呀,問題出在哪呢?
          后來用 is_array($_POST['prodno']) 得到的是false,不會吧,PHP不會獲取重復名字的表單?唉,后來上網Google了一翻,原來PHP里獲取重復名字的表單值跟JSP/ASP等的都不一樣,JSP的直接用 request.getParameterValues("prodno"); 返回的是一個String[] 數組,但PHP的差別在于,要將form里的 checkbox 的 name 寫成: prodno[] 就是要多了后面那對方括號,之后PHP里 $_POST['prodno'] 獲得的就是一個 array ,唉,這樣都行,不過后來想想,這個可能跟PHP的一個語法有關吧,在PHP里,數組是可以這樣賦值的:

          $arr[] = 'aaa';
          $arr[] = 'bbb';
          $arr[] = 'ccc';

          這樣寫的話,$arr 里就有三個值,key分別是0,1,2,而value分別是'aaa','bbb','ccc',
    就是說在PHP里,你給數組賦值的話,不寫key的話,他會默認用遞增的數字來自動當key,所以,當表單提交到PHP里時,實際上就是

          $prodno[] = 'a';
          $prodno[] = 'b';

          所以,當 $_POST['prodno'] 的值就是$prodno 的值,所以它是一個數組,
    而如果表單里name的值寫成 prodno 的話,就會是

          $prodno = 'a';
          $prodno = 'b';

          所以,大家可以看得出問題所在了,這樣$prodno的值始終會給最后的那個值覆蓋,所以就出現我之前的現像我用$_POST['prodno']獲取到的值總是我最后的那個checkbox的值,所以更不用說is_array()了,當然是得到false了。
    所以,對于一些有其它編程語言基礎的人來說,學PHP的話,要注意這點,跟別的語言都不同。
    posted on 2008-07-29 13:45 姜大叔 閱讀(1389) 評論(2)  編輯  收藏 所屬分類: PHP

    評論:
    # re: [PHP初學心得]PHP初學注意,POST獲取同名表單項數組 2009-04-28 16:44 | 路人甲
    謝謝啊,看了你的這篇東西,剛好解決了我類似的問題!  回復  更多評論
      
    # re: [PHP初學心得]PHP初學注意,POST獲取同名表單項數組[未登錄] 2009-08-20 13:24 | William
    太有用了,我還納悶了半天呢, 原來要這樣, 有意思  回復  更多評論
      
    主站蜘蛛池模板: 国产亚洲福利精品一区二区| 激情婷婷成人亚洲综合| 麻豆亚洲AV永久无码精品久久| 亚洲春色另类小说| www在线观看免费视频| 国色精品卡一卡2卡3卡4卡免费| 免费萌白酱国产一区二区| 精品亚洲A∨无码一区二区三区| 久久免费国产精品一区二区| 国产精品色午夜免费视频| 亚洲成在人天堂在线| 免费一级毛片在线播放放视频 | 2021在线观看视频精品免费| 免费人成视网站在线观看不卡| 亚洲欧洲国产综合| 中文字幕无码不卡免费视频| 亚洲AV福利天堂一区二区三| 亚洲视频在线免费观看| 中文字幕人成人乱码亚洲电影| 亚洲AV无码一区二区一二区| 最近中文字幕国语免费完整 | 夜夜爽妓女8888视频免费观看| 毛片免费全部免费观看| 亚洲高清视频免费| 暖暖在线视频免费视频| 亚洲中文字幕日产乱码高清app| 永久免费A∨片在线观看| 亚洲自偷自偷偷色无码中文| 久久国产精品免费专区| 亚洲18在线天美| free哆啪啪免费永久| 麻豆亚洲av熟女国产一区二| 99久久综合国产精品免费| 日韩欧美亚洲国产精品字幕久久久| 亚洲视频在线免费| 国产99视频精品免费视频76| 亚洲日韩VA无码中文字幕| 免费A级毛片av无码| 亚洲精品视频在线观看免费| 91禁漫免费进入| 国产亚洲福利一区二区免费看|