2

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 です)

4

1 に答える 1

2

user/%ユーザー ページを表示している場合、現在の URL が何であれ、基になるルーター パスは になり%ます。 はユーザーの ID です。

これを念頭に置いて、Drupal のarg()関数を使用して、文字で分割された 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))するだけです。

于 2012-01-10T18:06:40.007 に答える