如何使用PHP在URL中动态设置id

时间:2016-03-23 06:34:03

标签: javascript php

我需要一个帮助。我需要使用PHP在锚标记内的URL中动态设置id。我在下面添加我的代码。

$message='<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?">Click here</a></p>';

以上内容将显示用户的电子邮件ID。当用户点击click here链接时,该网址应该会打开。我需要在id=2之后设置?。请帮助我。

3 个答案:

答案 0 :(得分:0)

处理您的网址没有主题标签#,如果您没有使用任何类型的角度路由,那么

$var = 2;
$message = "<a href='http://localhost/spesh/resetPass/?id=$var'>Click here</a>";

警告

如果有人知道您的网站,他们可以尝试使用任何ID来重置所有密码,因此请注意这一点并在每次重置请求中使用令牌。像这样

 http://localhost/spesh/resetPass/?id=$var&token=23l4klkffgdkoiowlkfwokew

答案 1 :(得分:0)

我会想象您从某个地方或从会话中获取数据库中的ID。在这种情况下,将ID 以某种方式输入变量(让我们称之为$userId),将其转义为HTML(以防止 Cross-Site Scripting < / strong>(这是HTML注入的奇特名称)),并将其添加到您的href属性中:

$userId = htmlspecialchars(somehowGetUserId());
$message="<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?id=$userId">Click here</a></p>";

somehowGetUserId()是一个函数,我会让你按照自己喜欢的方式实现。这个想法是它返回用户ID&#34;不知何故&#34;。

请注意我是如何用双引号替换单引号,以便在内部插入变量。

请注意,这不适用于服务器端$_GET,因为浏览器不会在#之后向服务器发送任何内容,如果希望PHP看到id=2 },您需要将?id=$userId移至网址#之前。

答案 2 :(得分:-1)

如果你的id在一个名为$ id的变量中,那么:

$message='<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?id={$id}">Click here</a></p>';