作者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://www.ptt.cc/bbs/PHP/M.1460098682.A.35C.html
推 weiclin: register_globals在5.4就沒有嘍,而且5.4也已經EOL了 04/08 16:17
→ tkdmaf: 說是沒有,但是在設定檔卻還是能看到……… 04/09 00:33
→ 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