เป็นเวลาหลายปีแล้วที่ PHP แนะนำให้ใช้ $_GET, $_POST, $_REQUEST ในการอ้างอิงตัวแปร ที่ส่งผ่านมากับ HTTP GET, POST

แต่ผู้ใช้ส่วนใหญ่ ไม่ได้ให้ความสนใจกับมัน....

จน PHP รุ่นใหม่ๆ ออกมา มีการกำหนดให้ register_globals มีค่า default เป็น Off รวมทั้ง Hosting หลายๆ แห่ง ก็ใช้ค่า default ตาม PHP ทำให้หลายคนมีปัญหานี้เช่นกัน นอกจากนี้ php scripts เก่า(มากๆ) บางส่วนก็ยังใช้งานไม่ได้

วิธีแก้ปัญหา register_globals
ถ้า PHP ไม่ได้เป็น safe mode คุณสามารถกำหนด register_globals ได้โดยการ

ini_set("register_globals","On");

ตัวอย่าง test.php?var1=hello&var2=world

ถ้าขี้เกียจอ้างอิงถึง ตัวแปรต่างๆ ก็ใช้

extract($_POST);
extract($_GET);
extract($_REQUEST);

ก็จะได้ตัวแปรก $var1, var2
หรือจะใช้

import_request_variables("GP", "rvar_");

G คือ GET
P คือ POST
rvar_ คือ prefix
ดังนั้น เราจะได้ ตัวแปร rvar_var1, rvar_var2