作者tkdmaf (皮皮快跑)
看板PHP
标题Re: [请益]分页变数传递
时间Fri Apr 8 14:57:59 2016
※ 引述《kevin10449 (盐酥鸡)》之铭言:
: 最近遇到windows 网页转移到Linux上的问题
: 例如: a.php
: <a href="xxxx?page=<?=$row->Id?>">test</a>
: b.php
: $sql="select * from xxx where Id=".$page;
: 在windows环境下,传递分页变数给b.php的mysql作为筛选条件是可以的,但是
: 转移到Linux上传递是似乎抓不到$page变数。
: 想请问是否哪边语法或设定档需要修改?
你的windows的设定其实是不好的。
这可能会产生所谓的「变数资料注入」
因为不单单是get,连post都可以注入变数资料。
早期一些书藉也是这样教。
不过通常遇到的都是问为什麽书上的范例无法使用。
这问题基本上就是php.ini中的register_globals 开了 on
(虽然我记得我听了很久的说是要把这个参数废止掉,但似乎这个设定还是
一直都在)
而不管怎麽样建议就是开off就好了。
不要去做自动注册全域变数这件事。
至於除掉这件事之外。
该如何取得get方法或是post方法的资料……
我觉得那是相当基本的事情,就留给你自己去查资料了。
仅告诉你问题的原因。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.204.161.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1460098682.A.35C.html
1F:推 weiclin: register_globals在5.4就没有喽,而且5.4也已经EOL了 04/08 16:17
2F:→ tkdmaf: 说是没有,但是在设定档却还是能看到……… 04/09 00:33
3F:→ weiclin: 猜你复制了旧版的php.ini去用? 我这边 5.4 之後的都没有 04/09 08:42
这个问题就要问xampp了。
虽然我基本是无视这个设定。
喔!刚刚去看我另一台linux(php 5.5),的确没有这个设定值……
那应该是xampp不知道在干嘛还是保留了这个设定值。
(我的是mac os版的xampp,也是php5.5)
※ 编辑: tkdmaf (123.204.161.190), 04/09/2016 10:26:44