Jump to content

Featured Replies

Всем привет. Решил сделать на своем форуме анонимный раздел, аналог "Подслушано".

Суть его проста: Пользователь пишет сообщение, а оно публикуется анонимно.
Но проблема в том, что форум не умеет делать анонимные сообщения. Можно, допустим написать от Гостя, но если гостям у вас на форуме запрещено писать?

Возможно как-то можно разрешить гостям создавать темы только в определенном разделе, но я не нашел. Я придумал свой способ.

Создаем нужный раздел, и ставим, в его настройках, модерацию новых тем, во вкладке "Публикация"
Сообщения должны быть утверждены -> Новые темы

Затем, создаем нового пользователя, называем его что-то вроде Аноним, или как пожелаете. Запоминаем его 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

Вы увидите примерно следующую картину:

info.png

Алгоритм примерно такой:

  • Пользователь создает тему в нашем разделе.
  • Мы с помощью нашего файлика меняем автора новой темы на своего анонима.
  • Утверждаем тему.

Дальше думаю разбересь.

Будут вопросы, пишите.

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.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.