Posted 14 апреля, 20168 yr comment_104936 Всем привет. Решил сделать на своем форуме анонимный раздел, аналог "Подслушано". Суть его проста: Пользователь пишет сообщение, а оно публикуется анонимно. Но проблема в том, что форум не умеет делать анонимные сообщения. Можно, допустим написать от Гостя, но если гостям у вас на форуме запрещено писать? Возможно как-то можно разрешить гостям создавать темы только в определенном разделе, но я не нашел. Я придумал свой способ. Создаем нужный раздел, и ставим, в его настройках, модерацию новых тем, во вкладке "Публикация"Сообщения должны быть утверждены -> Новые темы Затем, создаем нового пользователя, называем его что-то вроде Аноним, или как пожелаете. Запоминаем его id. Ну, а дальше самое интересное. В папке с корнем форума создаем файлик, например anonim.php, и вставляем туда вот это Спойлер <!DOCTYPE html> <html> <head> <style> table { border: 1px solid #ccc; /* border="0" */ border-radius: 5px; } table td { padding: 2px; /* cellpadding="0" */ } tr:nth-child(2n-1) { background: #f8f8f8; /* Цвет фона */ } body { font-family: Tahoma, Arial; font-size: 13px; } </style> </head> <body> <?php $topic_id_anon = $_POST['topic_anon']; $pass = $_POST['password']; if (!isset($message)) { $message = "<span style=\"color: red\">Введите правильные параметры!</span>"; } if (isset($_POST['new_user'])){ $new_user = $_POST['new_user']; } else { $new_user = "1"; //id пользователя, который будет новым автором темы, если не введен вручную } mysql_connect("localhost", "username", "password"); //Параметры подключения к вашей БД (можно посмотреть в файле conf_global.php) mysql_select_db("db_name"); mysql_query ("set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set collation_connection='utf8_general_ci'"); mysql_query ("SET NAMES utf8"); if ((isset($pass)) AND ($pass == "6280")) //Ваш пароль { if ((isset($new_user)) AND ($new_user != "") AND (isset($topic_id_anon)) AND ($topic_id_anon != "") AND (isset($pass)) AND ($pass != "")) { $sql = "UPDATE `forums_topics` SET `starter_id` = $new_user WHERE `tid` = $topic_id_anon"; //Меняем автора темы $result = mysql_query($sql) or die(mysql_error()); $sql2 = "UPDATE `forums_topics` SET `last_poster_id` = $new_user WHERE `tid` = $topic_id_anon"; //Меняем последнего автора сообщения $result2 = mysql_query($sql2) or die(mysql_error()); $sql3 = "UPDATE `forums_posts` SET `author_id` = $new_user WHERE `topic_id` = $topic_id_anon"; //Меняем автора темы в списке тем $result3 = mysql_query($sql3) or die(mysql_error()); $message = "<span style=\"color: green\">Выполнено. Не забудьте утвердить тему.</span>"; } } else { if ((isset($pass)) AND ($pass != "6280")) { //Сюда вписываем свой пароль $message = "<span style=\"color: red\">Неверный пароль!</span>"; } else { $message = "<span style=\"color: #777\">Введите параметры:</span>"; } } ?> <form method="post" action="db_vk.php"> <table align="center" width="300px"> <br> <tr> <td colspan="2" align="center"> <?php echo $message; ?> </td> </tr> <tr> <td width="300px"> ID нового автора темы </td> <td> <input type="text" name="new_user" size="3" style="width: 50px; text-align: center;"placeholder="id user" title="id нового автора темы" value="<?php echo "$new_user " ?>"> </td> <br> </tr> <tr> <td> ID темы, которую нужно изменить </td> <td> <input type="text" name="topic_anon" size="3" style="width: 50px; text-align: center;" placeholder="id темы" title="id темы"> </td> </tr> <tr> <td> Ваш секретный пароль </td> <td> <input type="text" name="password" size="3" style="width: 50px; text-align: center;" placeholder="пароль" title="Секретный пароль"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" style="width: 100px;" value="OK" /> </td> </tr> </table> </form> </body> </html> Обязательно немного настраиваем наш файлик. Нужно указать параметры подключения к базе данных, а также свой пароль. Теперь при открытии страницы http://ваш_форум.ru/anonim.php Вы увидите примерно следующую картину: Алгоритм примерно такой: Пользователь создает тему в нашем разделе. Мы с помощью нашего файлика меняем автора новой темы на своего анонима. Утверждаем тему. Дальше думаю разбересь. Будут вопросы, пишите. Link to comment https://ipbmafia.ru/topic/14149-delaem-anonimnyj-razdel-podslushano/ Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.