PHP 板


LINE

看板 PHP  RSS
好吧,既然方法是我提出来的 那我就写个简单的范例来说明一下 (不过这里是 php 版,我的解法却是 jQuery,不知道可不可以?) 因为你的问题是 POST 的栏位超过 PHP 里 max_input_vars 限制 所以必须减少 POST 的栏位及资料量 大概要做以下几个动作 1. 拿掉所有 form 上面物件的 name 换成 id (这样才不会自动被 post 出去) 2. form onsubmit 时先到 JavaScript 去判断 3. 承上,判断所有栏位,有输入的栏位再加入 post_data 4. 最後加上一个 hidden 栏位,将 post_data 转成 Json 格式塞入,并送出 post 5. 下一页接收时,要先做 php 的 json_decode 以下是简单的范例说明 网页版:http://wbkuo.pixnet.net/blog/post/192551838 DEMO网页:http://leo-kuo.com/test/jquery_post.php 程式码: <?php // 取得 POST 资料 if ($_POST['fm_post_data']) { // 要做 json_decode $post_data = json_decode($_POST['fm_post_data'], TRUE); // 将资料覆盖掉整个 $_POST $_POST = $post_data; // 输出资料 echo "<pre>_POST = " . print_r($_POST, TRUE). "</pre>"; } ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script> function check_submit (event) { var post_data = {} var post_count = 0; $('[id^="fm_num"]').each(function(i) { // 取得有输入的栏位 var value = $(this).val(); if ($(this).val()) { var key = $(this).attr('id'); post_data[key] = value; post_count++; } }); // 如果没有填任何资料的话,禁止送出表单 if (post_count == 0) { alert('你没有输入任何栏位!'); return false; } // 将表单栏位转成 json 格式塞入 fm_post_data $('#fm_post_data').val(JSON.stringify(post_data)); // 将表单送出(可省略) return true; } </script> <form action='jquery_post.php' method='post' onsubmit='return check_submit()'> 数量1: <input id='fm_num1' type='text'><br> 数量2: <input id='fm_num2' type='text'><br> 数量3: <input id='fm_num3' type='text'><br> <input type='hidden' id='fm_post_data' name='fm_post_data'> <input id='fm_submit' type='submit'> </form> P.S. 关於 "form onsubmit 时先到 JavaScript 去判断" 请看 <form onsubmit='return check_submit()'> 这里是表示 submit 之前先执行 check_submit 的 function 如果 check_submit 回传 false 就会取消 submit 如果 check_submit 回传 true 或无回传值就会继续执行 ※ 引述《imgodd (新手请指教)》之铭言: : 各位好 : 小弟最近帮朋友修改一个已经完成的php网站 : 内容并没有使用到资料库 : 但是有用到php的运算语法 : 网址: http://www.overdrip.org/index.php : 此页进去往下滑有很多的喷漆罐颜色可以选择 : 目前的数量有197个,可以随意输入数量,然後按加到购物车 : 可以顺利进入下一页(购物车的金额结算页面) : 但当我继续加入到有200个以上的颜色选择的时候 : 点选"加到购物车" : 就会出现下面的错误讯息 : Forbidden : You don't have permission to access /addtocart.php on this server. : Additionally, a 404 Not Found error was encountered while trying : to use an ErrorDocument to handle the request. : 原本我以为是不是产品页的table数量超过限制 所以不能处理?? : 但我爬文说这个讯息是跟权限有关系 : (但是我看过类似的网站,用div排的可以有200多项) : 想请教各位可以告诉我该如何解决 : 让他在这个分页可以有200个以上的产品吗 : 感谢感谢~ -- 因为我相信 总有那麽一天 我会得到自己想要的幸福 所以为了守护这份得来不易的幸福 我只能不断的变强 再也不要因为自己不完美让幸福又溜走了.... --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.141.182
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1421055608.A.4BE.html ※ 编辑: et282523 (118.161.133.52), 01/12/2015 21:01:34
1F:推 imgodd: 真的很谢谢你 01/12 22:40
※ 编辑: et282523 (118.161.133.52), 01/12/2015 22:54:47
2F:→ et282523: 将 $_POST 的值整个复盖掉的方法其实有点暴力,不太建议 01/12 23:05
3F:→ et282523: 虽然这样我猜你会改最少啦,但个人觉得不是一个好写法。 01/12 23:06
※ 编辑: et282523 (118.161.134.66), 01/23/2015 00:39:54







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP