我需要一个帮助。我需要使用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
之后设置?
。请帮助我。
答案 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>';