当前位置:Gxlcms > PHP教程 > PHP常见棘手问题答解_PHP教程

PHP常见棘手问题答解_PHP教程

时间:2021-07-01 10:21:17 帮助过:15人阅读

在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
"
  1. <font face="新宋体"><font color="#dd0000">"</font></font><font face="新宋体"><font color="#007700">;<br>Echo </font><font color="#dd0000">"本页得到的_GET变量有:"</font></font><font face="新宋体"><font color="#007700">;<br></font><font color="#0000bb">Print_R</font><font color="#007700">(</font><font color="#0000bb">$_GET</font></font><font face="新宋体"><font color="#007700">);<br>Echo </font><font color="#dd0000">"本页得到的_POST变量有:"</font></font><font face="新宋体"><font color="#007700">;<br></font><font color="#0000bb">Print_R</font><font color="#007700">(</font><font color="#0000bb">$_POST</font></font><font face="新宋体"><font color="#007700">);<br>Echo </font><font color="#dd0000">"本页得到的_COOKIE变量有:"</font></font><font face="新宋体"><font color="#007700">;<br></font><font color="#0000bb">Print_R</font><font color="#007700">(</font><font color="#0000bb">$_COOKIE</font></font><font face="新宋体"><font color="#007700">);<br>Echo </font><font color="#dd0000">"本页得到的_SESSION变量有:"</font></font><font face="新宋体"><font color="#007700">;<br></font><font color="#0000bb">Print_R</font><font color="#007700">(</font><font color="#0000bb">$_SESSION</font></font><font face="新宋体"><font color="#007700">);<br>Echo </font><font color="#dd0000">"</font></font>
";
?>

为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失

  1. <font face="verdana,arial,helvetica" size="1">PHP代码:</font><hr><code><font color="#000000"><br><font color="#0000bb"><!--?php<br-->$Var</font><font color="#007700">=</font><font color="#dd0000">"hello php"</font><font color="#007700">;</font><font color="#ff8000">//修改为$Var=" hello php";试试得到什么结果<br></font><font color="#0000bb">$post</font><font color="#007700">= </font><font color="#dd0000">"receive.php?Name="</font><font color="#007700">.</font><font color="#0000bb">$Var</font><font color="#007700">;<br></font><font color="#0000bb">header</font><font color="#007700">(</font><font color="#dd0000">"location:$post"</font><font color="#007700">);<br></font><font color="#0000bb">?><br></font></font></code><hr>


receive.php的内容:

  1. <font face="verdana,arial,helvetica" size="1">PHP代码:</font><hr><code><font color="#000000"><br><font color="#0000bb"><!--?PHP<br--></font><font color="#007700">Echo </font><font color="#dd0000">"</font><pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><font color="#dd0000">"</font><font color="#007700">;<br>Echo </font><font color="#0000bb">$_GET</font><font color="#007700">[</font><font color="#dd0000">"Name"</font><font color="#007700">];<br>Echo </font><font color="#dd0000">"</font></li></ol></pre><font color="#dd0000">"</font><font color="#007700">;<br></font><font color="#0000bb">?><br></font></font></code><hr>


正确的方法是:

  1. <font face="verdana,arial,helvetica" size="1">PHP代码:</font><hr><code><font color="#000000"><br><font color="#0000bb"><!--?php<br-->$Var</font><font color="#007700">=</font><font color="#dd0000">"hello php"</font><font color="#007700">;<br></font><font color="#0000bb">$post</font><font color="#007700">= </font><font color="#dd0000">"receive.php?Name="</font><font color="#007700">.</font><font color="#0000bb">urlencode</font><font color="#007700">(</font><font color="#0000bb">$Var</font><font color="#007700">);<br></font><font color="#0000bb">header</font><font color="#007700">(</font><font color="#dd0000">"location:$post"</font><font color="#007700">);<br></font><font color="#0000bb">?><br></font></font></code><hr>


在接收页面你不需要使用Urldecode(),变量会自动编码.

规范你的SQL语句
在表格,字段前面加上"`",这样就不会因为误用

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446874.htmlTechArticle在PHP4.2以后的版本中register_global默认为off 若想取得从另一页面提交的变量: 方法一:在PHP.ini中找到register_global,并把它设置为on. 方法二:在接...

人气教程排行