你如何使用$ _GET与URL?

时间:2011-11-17 19:53:31

标签: php mysql

我正在开发类似于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页面上的内容?

2 个答案:

答案 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注入)。

希望这有点帮助。