欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP 常见棘手问题答解

程序员文章站 2024-04-04 18:30:47
...

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