PHP 常见棘手问题答解

原创
2016-06-13 11:00:22 570浏览

在PHP4.2以后的版本中register_global默认为off
若想取得从另一页面提交的变量:
方法一:在PHP.ini中找到register_global,并把它设置为on.
方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()).
方法三:一个一个读取变量$a=$_GET["a"];$b=$_POST["b"]等,这种方法虽然麻烦,但比较安全.

PHP代码:

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语句
在表格,字段前面加上"`",这样就不会因为误用

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。