Вопросполучить имя пользователя и ИД

Привет!

подскажи пожалуйста как получить имя залогиненого пользователя и его ИД?
Мне это надо для передачи в скрипт в адресной строке. Например: usr_nickname=zorro - вот, вместо "зорро" подставлять переменную, содержащую логин юзера и также передается ИД (юид).

Спасибо!

Комментарии

Аватар пользователя Spleshka
Spleshka написал:
<?php
  global $user;
  print $user->uid;  //ID пользователя
  print $user->name; //Имя пользователя
?>

Если эти данные передаются в js рекомендую воспользоваться drupal_add_js. Пример:

global $user; // получаем текущего пользователя
if ($user->uid) { // если пользователь авторизован на сайте - добавляем в js настройки пользователя
  drupal_add_js(array('custom_module' => array('user_name' => $user->name, 'user_uid' => $user->uid)), 'setting');
}

Теперь если пользователь авторизован в js можно пользоваться переменными Drupal.custom_module.user_name и Drupal.custom_module.user_uid.

А для передачи этих данных в урл воспользуйтесь функцией goto (либо url), точнее их параметром query, позволяющим передать данные в качестве параметров адресной строки.

03.10.2011 23:21
Аватар пользователя тайный поклонник
тайный поклонник написал:

О! Спасибо!

а разве нельзя подставить переменные вот так:

<?php
  global $user;
  print $user-id->uid;  //ID пользователя
  print $user-name->name; //Имя пользователя
 
<script type='text/javascript' src='http://чужойсайт.ru/iframe/js/link/?app_id=$user-id&login=&user-name'></script>
 
?>

так вот нельзя подставить? или подобным образом?

пардон, на заметку - этот комментарий пытался несколько раз добавить, все время ошибка:
1) сначала опечатка в капче не мог исправить - после вывода сообщения об ошибки, на странице отрисовывается "старый" код капчи, а движок уже требует некий новый. Хрошо бы кнопочку "обновить картинку" на капче
2) если юзер с таким именем уже есть в системе,то возвращаемся к пляскам с устаревшей картинкой капчи :)

04.10.2011 16:07
Аватар пользователя Spleshka
Spleshka написал:

В принципе можно, только чуть чуть по синтаксису:

  global $user;
  print $user->uid;  //ID пользователя
  print $user->name; //Имя пользователя 
  print '<script type="text/javascript" src="http://чужойсайт.ru/iframe/js/link/?app_id=$user->uid&login=&user->name"></script>';

Не самый Друпал-правильный вариант, но работать будет.

04.10.2011 16:19

Комментировать