Перейти к содержимому


Сравнение пользователей при доп.действии


Сообщений в теме: 2

#1 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 26 Июль 2013 - 09:46

Добрый день!
Есть таблица "Контрагенты" и в ней поле "Менеджер" (тип поля=пользователь)

При нажатии на дополнительную кнопку,необходимо,чтобы шла проверка текущего пользователя с менеджером, прописанным в карточке.

$kontr = data_table("Контрагенты","id=$ID");
if ($kontr)
{
$kotr_men=$kontr['Менеджер'];
echo "<script>alert('Вы не являетесь менеджером по данному контрагенту')</script>";
}
else
{
$schet = data_table("Совместная работа менеджеров","id=$ID");
$schet['Контрагент'] = $ID;
$schet['Менеджер'] = $kontr['Менеджер'];
$new_id = insert_query($schet, "Совместная работа менеджеров");
}
echo "<script>location.href='".$config["site_root"]."/view_line.php?table=231&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";

Подскажите подалуйста, как правильно сделать сравнение пользователей?...

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 26 Июль 2013 - 10:45

$kontr = data_table("Контрагенты","id=$ID");

Опять вы используете устаревшую конструкцию с "id=$ID". Используйте $line для полей текущей записи.

По вашему вопросу (условие) будет:
if ($line['Менеджер']!=$user['id']) // в переменной $user находится текущий пользователь
{
  echo "<script>alert('Вы не являетесь менеджером по данному контрагенту')</script>";
}

Но далее, после else у вас опять какой-то бред, извините, странная конструкция:
$schet = data_table("Совместная работа менеджеров","id=$ID");

Зачем вы открываете строку в ДРУГОЙ таблице с id равным текущей записи? Для какой цели? Вам строку добавить надо, а вы ее открываете зачем-то, со странным условием.

В двух местах наступаете на те же самые грабли, хотя ранее уже обсуждали это.


Полный корректный вариант:

if ($line['Менеджер']!=$user['id']) // в переменной $user находится текущий пользователь
{
  echo "<script>alert('Вы не являетесь менеджером по данному контрагенту')</script>";
}
else
{
  $ins_data['Контрагент'] = $ID;
  $ins_data['Менеджер'] = $line['Менеджер'];
  $new_id = insert_query($ins_data, "Совместная работа менеджеров");
  echo "<script>location.href='".$config["site_root"]."/view_line.php?table=231&line=".$new_id."&edit_mode&back_url=".$base64_current_url."'</script>";
}


#3 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 26 Июль 2013 - 12:20

Спасибо большое за столь развернутый ответ))
Просто дело в том,что данные коды взяты с самой конфигурации и документации,т.к. я сама их писать в принципе не умею,но учусь,то брала из источников..там как раз и используется сравнение id =)





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных