我正在尝试根据Drupal站点中成员的UID在表中添加记录。我正在使用每个成员页面上的表单执行此操作。为了使其正常工作,我需要在mysql查询中使用UID。这是包含在Drupal块中的页面。
如果我使用$ uid = $ user-> uid;,那么它将是我的UID作为管理员。我需要填充我正在查看其页面的成员的UID。
以下是我的代码的一小部分:
mysql_query("INSERT INTO profile_values (fid, uid, value) VALUES ('99','$uid', '$newcompany')");
我需要定义$ uid,这将完美无缺! (这是Drupal Commons,如果这有所不同)
答案 0 :(得分:2)
如果您在用户页面上,那么无论当前URL是基础路由器路径,都是user/%
,其中%
是用户的ID。
考虑到这一点,您可以使用Drupal的arg()
function来抓取由/
字符拆分的URL部分,从而获取用户ID:
// This if statement just checks that you're on a user page.
if (arg(0) == 'user' && is_numeric(arg(1)) {
$uid = arg(1);
}
请注意,上面的if
也会匹配user/%/edit
等路径,因此如果这会导致问题,只需在条件中添加&& is_null(arg(2))
。