Цитата
Invalid table_id
#0 get_table_fields(Array ([ID] => 10,[Кто добавил] => 1,[Время добавления] => 2010-05-27 14:28:58,[Статус записи] => 0 ... и т.д.
#0 get_table_fields(Array ([ID] => 10,[Кто добавил] => 1,[Время добавления] => 2010-05-27 14:28:58,[Статус записи] => 0 ... и т.д.
изменения вносятся, но страница добивает. + выстакивают всплывающие окошки:
- Выбранной группы доступа не существует. Будет сохранена текущая группа.
- Выбранной группы доступа не существует. Пользователь не будет добавлен. Введите существующую группу.
- Не введен логин. Пользователь не будет добавлен.
Помогите плиз, в программировании не сильно соображаю.
код вычисления сейчас такой:
Цитата
// Автообновление пользователей
$table = data_table("Наши сотрудники","id='$ID'");
if ($table['Логин']) {
// Определяем id группы
$sqlQuery = "SELECT id FROM ".GROUPS_TABLE." WHERE name='".$table['Группа доступа']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) // если нашли - сохраняем
{
$group_id = $row['id'];
}
else // иначе возвращаем старую по возможности
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
echo "<script>alert('Выбранной группы доступа не существует. Будет сохранена текущая группа.')</script>";
$group_id = $row['group_id'];
$sqlQuery = "SELECT name FROM ".GROUPS_TABLE." WHERE id='".$row['group_id']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) $table['Группа доступа'] = $row['name'];
update_table($table,"Наши сотрудники","id='$ID'");
}
else
{
echo "<script>alert('Выбранной группы доступа не существует. Пользователь не будет добавлен. Введите существующую группу.')</script>";
$group_id = 0;
}
}
if ($group_id)
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
$sqlQuery = "UPDATE ".USERS_TABLE." SET fio='".$table['ФИО']."', e_mail='".$table['E-mail']."', login='".$table['Логин']."', ".(($table['Пароль']!="******")?("password='".md5($table['Пароль'])."', "):"")."group_id='".$group_id."' WHERE id='".$row['id']."'";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
else
{
// Предупреждение об ограничении числа пользователей
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE arc=0 ORDER BY id";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if (mysql_num_rows($result)>=$config['max_users'])
{
echo "<script>alert('Вы можете добавить в программу не более ".$config['max_users']." пользователей. Новый пользователь не будет добавлен.')</script>";
$group_id = 0;
}
else
{
$sqlQuery = "INSERT INTO ".USERS_TABLE." (fio, e_mail, login, password, date_registr, group_id) VALUES ('".$table['ФИО']."', '".$table['E-mail']."', '".$table['Логин']."', '".md5($table['Пароль'])."', curdate(), '".$group_id."')";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$new_user_id = mysql_insert_id();
// добавляем поля для информации о непрочитанных записях
$sqlQuery = "SELECT id FROM ".TABLES_TABLE;
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
while ($row = mysql_fetch_array($result))
{
$sqlQuery = "ALTER TABLE ".DATA_TABLE.$row['id']." ADD u".$new_user_id." TINYINT(1)";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$sqlQuery = "UPDATE ".DATA_TABLE.$row['id']." SET u".$new_user_id."=0";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
}
}
$table['Пароль'] = "******";
update_table($table,"Наши сотрудники","id='$ID'");
}
}
elseif ($table['Пароль'] or $table['Группа доступа'])
{
echo "<script>alert('Не введен логин. Пользователь не будет добавлен.')</script>";
$group_id = 0;
}
if (!$group_id) {
$table['Логин'] = "";
$table['Пароль'] = "";
$table['Группа доступа'] = "";
update_table($table,"Наши сотрудники","id='$ID'");
}
$table = data_table("Наши сотрудники","id='$ID'");
if ($table['Логин']) {
// Определяем id группы
$sqlQuery = "SELECT id FROM ".GROUPS_TABLE." WHERE name='".$table['Группа доступа']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) // если нашли - сохраняем
{
$group_id = $row['id'];
}
else // иначе возвращаем старую по возможности
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
echo "<script>alert('Выбранной группы доступа не существует. Будет сохранена текущая группа.')</script>";
$group_id = $row['group_id'];
$sqlQuery = "SELECT name FROM ".GROUPS_TABLE." WHERE id='".$row['group_id']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) $table['Группа доступа'] = $row['name'];
update_table($table,"Наши сотрудники","id='$ID'");
}
else
{
echo "<script>alert('Выбранной группы доступа не существует. Пользователь не будет добавлен. Введите существующую группу.')</script>";
$group_id = 0;
}
}
if ($group_id)
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
$sqlQuery = "UPDATE ".USERS_TABLE." SET fio='".$table['ФИО']."', e_mail='".$table['E-mail']."', login='".$table['Логин']."', ".(($table['Пароль']!="******")?("password='".md5($table['Пароль'])."', "):"")."group_id='".$group_id."' WHERE id='".$row['id']."'";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
else
{
// Предупреждение об ограничении числа пользователей
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE arc=0 ORDER BY id";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if (mysql_num_rows($result)>=$config['max_users'])
{
echo "<script>alert('Вы можете добавить в программу не более ".$config['max_users']." пользователей. Новый пользователь не будет добавлен.')</script>";
$group_id = 0;
}
else
{
$sqlQuery = "INSERT INTO ".USERS_TABLE." (fio, e_mail, login, password, date_registr, group_id) VALUES ('".$table['ФИО']."', '".$table['E-mail']."', '".$table['Логин']."', '".md5($table['Пароль'])."', curdate(), '".$group_id."')";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$new_user_id = mysql_insert_id();
// добавляем поля для информации о непрочитанных записях
$sqlQuery = "SELECT id FROM ".TABLES_TABLE;
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
while ($row = mysql_fetch_array($result))
{
$sqlQuery = "ALTER TABLE ".DATA_TABLE.$row['id']." ADD u".$new_user_id." TINYINT(1)";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$sqlQuery = "UPDATE ".DATA_TABLE.$row['id']." SET u".$new_user_id."=0";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
}
}
$table['Пароль'] = "******";
update_table($table,"Наши сотрудники","id='$ID'");
}
}
elseif ($table['Пароль'] or $table['Группа доступа'])
{
echo "<script>alert('Не введен логин. Пользователь не будет добавлен.')</script>";
$group_id = 0;
}
if (!$group_id) {
$table['Логин'] = "";
$table['Пароль'] = "";
$table['Группа доступа'] = "";
update_table($table,"Наши сотрудники","id='$ID'");
}
так же перестала работать статистика. при клике на запись выводится белая страница с текстом "Данный фильтр запрещен."