在PHP4.2以後的版本中register_global默認為off
若想取得從另一頁面提交的變量:
方法一:在PHP.ini中找到register_global,並把它設置為on.
方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).
方法三:一個一個讀取變量$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.
Ob_Start();
Session_Start();
Echo ""
;
Echo "本頁得到的_GET變量有:";
Print_R($_GET);
Echo "本頁得到的_POST變量有:";
Print_R($_POST);
Echo "本頁得到的_COOKIE變量有:";
Print_R($_COOKIE);
Echo "本頁得到的_SESSION變量有:";
Print_R($_SESSION);
Echo "";
?>
為什麼我向另一網頁傳送變量時,只得到前半部分,以空格開頭的則全部丟失
PHP代碼:
$Var="hello php";//修改為$Var=" hello php";試試得到什麼結果
$post= "receive.php?Name=".$Var;
header("location:$post");
?>
receive.php的內容:
;PHP代碼:"
Echo "";
Echo $_GET["Name"];
Echo "
正確的方法是:
PHP代碼:
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?>
在接收頁面你不需要使用Urldecode(),變量會自動編碼.
規范你的SQL語句
在表格,字段前面加上"`",這樣就不會因為誤用