我在PHP上工作已经一年了,但是现在我可以用这种方式直接使用name属性来赋值post数据值。我真的很想知道关于这方面的it.please refere链接的文档。
我用例子来解释。
这是我的表格
<form method="post" action="">
<input type="text" name="userName" id="userName">
<input type="submit" name="doit" value="submit">
</form>为了获得我经常使用的post数据
$somevar=mysql_real_escape_string($_POST['userName']);但现在我看到了另一种方式
$somevar= "userName";我只想知道它是不是安全又简单?
发布于 2010-05-13 17:06:25
我认为您正在寻找PHP指令register_globals。看看Variables From External Sources吧。但是,此指令默认为"off“,您可能应该保留该指令,因为它在PHP5.3中已被弃用。无论如何,您仍然需要对其执行mysql_real_escape_string()。
您也可以使用import_request_variables()手动注册全局变量:
import_request_variables("p");
echo $userName;PHP网站上的Using Register Globals给了你一个很好的想法,告诉你自动将HTTP变量注册为全局变量是多么的不安全。
发布于 2010-05-13 17:03:52
就我个人而言,我喜欢使用转义函数。所以我会坚持使用mysql_real_escape_string()
我从来没有见过任何代码中的变量是从引号赋值的。据我所知,您所做的就是让$somevar包含一个字符串userName
发布于 2010-05-13 17:10:14
你最好使用下面的方法
$somevar= $userName;
OR
$somevar= $_POST[userName];https://stackoverflow.com/questions/2825470
复制相似问题