【问题标题】:jquery dynamic href based on user_id基于user_id的jquery动态href
【发布时间】:2011-11-29 23:59:30
【问题描述】:

我输入了这个小 Jquery 来根据用户 ID 动态附加我的计费页面的 href。

它似乎不起作用?希望有人能指出我的错误。

提前感谢您的帮助和代码 sn-ps。

$individualpage="billing".$_SESSION['user_id'].".php";
$("a#billing").attr("href", "$individualpage");

页面上的链接

<a href="" id="billing">billing</a>

【问题讨论】:

  • 仅供参考,您可能会遇到安全问题 - 您的系统是否会接受添加到 URL 中的任何数字,例如其他人的用户 ID?此设置可能允许用户访问或修改其他用户的帐户。当访问计费脚本时,您始终可以访问用户 ID 的 $_SESSION 值。
  • 我会测试这个可能的问题。感谢您指出。

标签: jquery dynamic href


【解决方案1】:

您正在混合使用 JavaScript(一种客户端语言)和 PHP(一种服务器端语言)。请记住,PHP 是在 JavaScript 开始时完成的。

话虽如此,尝试这样的事情:

在您的 PHP 页面中的某处:

<?php
  $individualpage="billing".$_SESSION['user_id'].".php";
?>

然后,在页面的 HTML 中,使用 PHP 将值转储到 JavaScript,以便它可以接收并完成请求:

$('a#billing').attr('href','<?= $individualpage; ?>');

不过,您最好直接将其转储到 &lt;a&gt; 标签中:

<a id="billing" href="<?= $individualpage; ?>" ... >...</a>

(并且完全跳过 JavaScript。)

【讨论】:

  • 我试试看,感谢您的快速回复。是的,我会跳过 JS,我宁愿选择任何一天的纯 php 答案
  • @webmasteralexl:太棒了。 ;-) 如果您没有引用带有 ID 的元素(告诉我只有一个元素会应​​用更改),我会坚持使用 JS。但是,鉴于您正在修改单个锚点,使用内联方法更快且不易出错。
  • 当我尝试纯 php vr 时它没有工作?如果我在 Akloboucnik 的回答中使用 JS,它可以正常工作吗?嗯……
  • @webmasteralexl:根据设置/php 版本,速记回声可能不起作用。试试这个:&lt;?php echo $individualpage; ?&gt;
  • &lt;script&gt; $(function() { var individualpage="billing&lt;?php echo $_SESSION['user_id'] ?&gt;.php"; $("a#billing").attr("href", individualpage); }); &lt;/script&gt; &lt;a id="billing" class="clientLogin" href="&lt;?= $individualpage; ?&gt;"&gt;Billing&lt;/a&gt;
【解决方案2】:

您可能将 PHP 和 JS 代码混合在一起。

你需要

<script>
$(function() {
    var individualpage="billing<?php echo $_SESSION['user_id'] ?>.php";
    $("a#billing").attr("href", individualpage);
});
</script>

在您的视图脚本中。

【讨论】:

  • 感谢您的回复,我将首先尝试 Brad 的纯 php vr 答案。看起来你的 JS 答案也能满足我的需要。
猜你喜欢
  • 2015-12-20
  • 2023-02-22
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
相关资源
最近更新 更多