Добрый день)Помогите новичку. Делаю бан пользователя на некоторое количество дней. Отправляю через форму данные: Код (PHP): echo 'Выберите риелтора:<form action="ban_rieltor.php" method=POST><br>'; $workers_query = "select * from `p_users`"; $worker_res = mysql_query($workers_query) or die("Ошибка"); $ban_query = "select * from `p_users_ban` where `pub_user_id` = 1"; $ban_res = mysql_query($ban_query) or die("Ошибка"); $ban_row = mysql_fetch_array($ban_res); echo '<table><tr><th>Риелтор</th><th>На ... дней:</th><th>Забанить</th><th>Разбанить</th></tr>'; while ($worker_row = mysql_fetch_array($worker_res)){ $rieltor = $worker_row['p_user_fname']." ".mb_substr($worker_row['p_user_lname'], 0, 1).". ".mb_substr($worker_row['p_user_sname'], 0, 1)."."; echo '<tr><td valign=top>'.$rieltor.'</td> <td><input type=text name="ban_time">дней</td> <td><input type="checkbox" name="ban_name" value="'.$worker_row['p_user_id'].'"></td> <td><input type="checkbox" name="reban_name" value="'.$worker_row['p_user_id'].'">'; echo '</td>'; } echo '<input type=submit value="OK"><br>'; echo '</form></td><tr>'; на другой странице отправляю данные в таблицу: Код (PHP): if (isset($_POST['ban_name'])){ $n = $_POST['ban_time']; $time = now()+ (time()+3600*24*$n)); $query = "update `p_users_ban` set `pub_user_id` = 1, `pub_time` = '".$time."' where `pub_user` = '".$_POST['ban_name']."'"; $res = mysql_query($query) or die(mysql_error()); echo ' Вы успешно забанили пользователей!'; } if (isset($_POST['reban_name'])){ $query = "update `p_users_ban` set `pub_user_id` = 0 where `pub_user` = '".$_POST['reban_name']."'"; $res = mysql_query($query) or die("Ошибка"); echo 'Вы успешно разбанили пользователей'; } В итоге в таблице заполняется столбец 'pub_user_id', но 'pub_time' нет. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
молодец. проверяй в каком виде приходит "на сколько дней забанить", приходит ли вообще. потом проверяй записывается ли в том формате, в которым ты передаешь в БД данная запись. Добавлено спустя 17 секунд: а так же включи вывод ошибок, может поможет.
Пробую сделать так, но все равно не заполняется столбец Код (PHP): echo '<div id="page"><div id="left-side">'; echo left_menu_test(user_info('p_user_job')); echo '</div><div id="right-side">'; //$n_u = check($_POST['ban_time']); //$time = now()+ (time()+3600*24*$n)); //$time = date('Y-m-d', strtotime ('+'.$n.' day')); //echo ''$time''; $time_query = "update `p_users_ban` set `pub_time` = 1 where `pub_user` = '".$_POST['ban_name']."'"; $time_res = mysql_query($time_query) or die(mysql_error()); if (isset($_POST['ban_name'])){ $query = "update `p_users_ban` set `pub_user_id` = 1 where `pub_user` = '".$_POST['ban_name']."'"; $res = mysql_query($query) or die(mysql_error()); echo ' Вы успешно забанили '$time' пользователей!'; } То есть отправляю в базу не то, что введено, а определенное значение. И, кстати, в phpmyadmin выходит ошибка "Фатальная ошибка javascript" что это?и как с этим бороться? Добавлено спустя 4 минуты 16 секунд: А как это делать? PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Код (PHP): echo $query; до Код (PHP): mysql_query($query); а потом зайди в phpmyadmin и попробуй вставить в БД через phpmyadmin.
Сделала так: Код (PHP): echo '<table><tr><th>Риелтор</th><th>На ... дней:</th><th>Забанить</th><th>Разбанить</th></tr>'; while ($worker_row = mysql_fetch_array($worker_res)){ $rieltor = $worker_row['p_user_fname']." ".mb_substr($worker_row['p_user_lname'], 0, 1).". ".mb_substr($worker_row['p_user_sname'], 0, 1)."."; echo '<tr><td valign=top>'.$rieltor.'</td> <td><input type="text" name="ban_time"></td> <td><input type="checkbox" name="ban_name" value="'.$worker_row['p_user_id'].'"></td> <td><input type="checkbox" name="reban_name" value="'.$worker_row['p_user_id'].'">'; //else '<input type="checkbox" name="reban_name" value="'.$worker_row['p_user_id'].'">'; echo '</td>'; и в обработчике: Код (PHP): if (isset($_POST['ban_time']) and isset($_POST['ban_name'])){ $query = "update `p_users_ban` set `pub_user_id` = 1 where `pub_user` = '".$_POST['ban_name']."'"; echo $query; $res = mysql_query($query) or die(mysql_error()); $time = check($_POST['ban_time']); $time_query = "update `p_users_ban` set `pub_time`=".$time." where `pub_user`='".$_POST['ban_name']."'"; echo $time_query; $time_res = mysql_query($time_query) or die(mysql_error()); echo ' Вы успешно забанили пользователей!'; } Код (PHP): mysql_query($query); Выводит: update `p_users_ban` set `pub_user_id` = 1 where `pub_user` = '36'update `p_users_ban` set `pub_time`= where `pub_user`='36'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where `pub_user`='36'' at line 2 PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]