我正在开发类似于Facebook的网站。用户可以查看其他配置文件并浏览他们的信息,“墙”和照片,就像在Facebook上一样。
我无法理解$_GET
。这是我的问题:
我正在尝试使用$_GET
来显示正在查看的用户的数据。
我知道我在SQL查询中使用了一个密钥名称和$_GET
。像:
$query = "SELECT FROM table name, lastname WHERE $_GET['user_Id']";
我知道如果我将网址键入www.example.com/profile.php?user_id=1
,那么它会显示该个人资料。
如果我希望有像之前所述的链接,我现在该如何建立链接?
我可以吗?
<a href="www.example.com/profile.php?user_id=1&action=wall">
然后我设置if
语句和函数
什么不是,我知道该怎么做。
Switch
Case 'wall'
Function display_wall()
Echo ("whatever code")
现在,当用户点击信息链接时,浏览器是否只将$_GET['user_id']
设置为profile.php页面上的内容?
答案 0 :(得分:5)
清理用户输入!
先生,请不要这样做:
$query= SELECT FROM table name, lastname WHERE $_GET['user_Id']
这是非常不安全的。我强烈建议您在将每个用户输入(包括GET和POST)用于SQL查询之前对其进行清理。该脚本易受SQL-Injection攻击,可以很容易地利用它。
如何使用GET
是的,你必须设置
<a href="www.example.com/profile.php?user_id=1&action=wall">
浏览器不记得GET和POST。 GET只能附加到网址,因此如果您需要?user_id=1
,则必须不断向每个网页重复$_GET['user_id']
。
您所写的内容(<a href="www.example.com/profile.php?user_id=&action=wall">
)会设置$_GET['user_id']
=''。
Cookie和会话
如果您想根据查看页面的用户存储页面之间的数据,只需设置cookie或启动用户会话。你可以在谷歌上阅读它们。
切换PHP
Olso切换的事情是错误的。这就是如何在PHP中使用switch:
switch {
case 'wall':
display_wall();
echo "whatever code";
break;
}
答案 1 :(得分:0)
听起来你正在开展一个大型项目,我的回答可能不会有所帮助,但是这里有。 $_GET
是一个由URL变量组成的数组。在你的例子中:
<a href="www.example.com/profile.php?user_id=&action=wall>
因为你说$_GET['user_id']
(然后什么都没有), ?user_id=
什么都不返回
$_GET['action']
会返回'wall'
您还可以使用$_POST
变量,该变量将为您提供在表单上指定的数据。
使用$_GET
时,请注意不要简单地将该字符串注入SQL。这可能导致不良事件发生(查找SQL注入)。
希望这有点帮助。