Обучение/Помощь новичкам | Как написать бан!?
XaKeRoK , на юмасе поищи прямые ссылки на вм нельзя
ITACHI , ясно..
XaKeRoK , но он там точно есть в разделе стронг
В шапке условие
if(юзер в бане то) { exit('BAN'); }
________
посл. ред. 20.02.2016 в 21:05; всего 1 раз(а); by elbit
if(юзер в бане то) { exit('BAN'); }
________
посл. ред. 20.02.2016 в 21:05; всего 1 раз(а); by elbit
elbit (20.02.2016 в 21:05)
В шапке условие if(юзер в бане то) { exit('BAN') ;}
В шапке условие if(юзер в бане то) { exit('BAN') ;}
..а можешь написать это условие полностью?
Кидай код чата посмотрим
DELETED
20 февраля 2016, в 21:07
Delete
Если данный узер в бане то перекидывать его на страничку бана.
Бан по ип такого-же рода.
Создаёшь бд где записываются ип адреса,в случае если у чела ип совпадёт,то его автоматически банить на бесконечность дней.
elbit , вот
<?php
require_once ('system/func.php');
$title = 'Общий чат';
require_once ('system/header.php');
auth(); // Закроем от гостей
if(isset($_GET['text'])){
if(isset($_POST['text'])){
$text = $_POST['text'];
$ban = mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban = mysql_fetch_array($ban);
if(strlen($text) < 3 or strlen($text) > 300)$err = 'Длина сообщения должна быть в пределах 3 - 300 символов';
if($ban)$err = "На вас наложен, бан осталось ".tl($ban[last]-time());
if(!$err){
mysql_query("INSERT INTO `chat` SET `id_user` = '$user[id]', `time` = '".time()."', `text` = '".text($text)."'");
$_SESSION['msg'] = 'Сообщение отправлено';
header('Location: /chat');
exit();
}else{
$_SESSION['msg'] = $err;
header('Location: /chat');
exit();
}
}else{
$_SESSION['msg'] = 'Введите сообщение';
header('Location: /chat');
exit();
}
}
if(isset($_GET['delete_post']) and $user['access'] > 0){
mysql_query("DELETE FROM `chat` WHERE `id` = '".$_GET['delete_post']."'");
$_SESSION['msg'] = 'Пост удален';
header('Location: ?');
exit();
}
echo "<div class='block'>";
if($user['level'] < 5){
echo "В чате можно писать только с ".ico('icons','level.png')." 5 уровня";
}else{
echo "Быстрый ответ:<a href='/smiles.php' class='btn'>Смайлы</a> <a href='/bbcodes.php' class='btn'>Теги (bb code)</a>";
if(isset($_GET['to'])){
echo "<form method='post' action='?text=$_GET[to]'>";
$opponent = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = $_GET[to] LIMIT 1"));
echo "<input type='text' name='text' value = '$opponent[login], '>";
echo "<input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a>
</form>";
}else{
echo "<form method='post' action='?text'>";
echo "<input type='text' name='text'>";
echo "<input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a>
</form>";
}
}
echo "</div>";
echo "<div class='block'>";
$set['p_str'] = 10;
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat`"),0);
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str']*$page-$set['p_str'];
$q = mysql_query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
if($k_post == 0) echo "Сообщений не найдено...";
while($post = mysql_fetch_assoc($q)) {
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = $post[id_user] LIMIT 1"));
echo icons_user($ank[id])." <a href='/profile/$ank[id]'><font color='$ank[color]'>$ank[login]</font></a>, ".vremja($post['time'])." ";
if($myID != $ank['id'])echo "<a href='?to=$ank[id]'>(отв)</a>";
$msg = str_replace(array($user[login].','), "<b><i><font color='$user[color]'>$user[login]</font>, </b></i> ", $post['text']);
echo "<br>".text_msg($msg);
if($user['access'] > 0)echo " <a href='?delete_post=$post[id]'><font color='red'>(x)</font></a>";
echo "<hr>";
}
str('?',$k_page,$page); // Вывод страниц
echo "</div>";
require_once ('system/footer.php');
?>
require_once ('system/func.php');
$title = 'Общий чат';
require_once ('system/header.php');
auth(); // Закроем от гостей
if(isset($_GET['text'])){
if(isset($_POST['text'])){
$text = $_POST['text'];
$ban = mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban = mysql_fetch_array($ban);
if(strlen($text) < 3 or strlen($text) > 300)$err = 'Длина сообщения должна быть в пределах 3 - 300 символов';
if($ban)$err = "На вас наложен, бан осталось ".tl($ban[last]-time());
if(!$err){
mysql_query("INSERT INTO `chat` SET `id_user` = '$user[id]', `time` = '".time()."', `text` = '".text($text)."'");
$_SESSION['msg'] = 'Сообщение отправлено';
header('Location: /chat');
exit();
}else{
$_SESSION['msg'] = $err;
header('Location: /chat');
exit();
}
}else{
$_SESSION['msg'] = 'Введите сообщение';
header('Location: /chat');
exit();
}
}
if(isset($_GET['delete_post']) and $user['access'] > 0){
mysql_query("DELETE FROM `chat` WHERE `id` = '".$_GET['delete_post']."'");
$_SESSION['msg'] = 'Пост удален';
header('Location: ?');
exit();
}
echo "<div class='block'>";
if($user['level'] < 5){
echo "В чате можно писать только с ".ico('icons','level.png')." 5 уровня";
}else{
echo "Быстрый ответ:<a href='/smiles.php' class='btn'>Смайлы</a> <a href='/bbcodes.php' class='btn'>Теги (bb code)</a>";
if(isset($_GET['to'])){
echo "<form method='post' action='?text=$_GET[to]'>";
$opponent = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = $_GET[to] LIMIT 1"));
echo "<input type='text' name='text' value = '$opponent[login], '>";
echo "<input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a>
</form>";
}else{
echo "<form method='post' action='?text'>";
echo "<input type='text' name='text'>";
echo "<input type='submit' class='btn' value='Отправить'>
<a href='/chat' class='btn'>Обновить</a>
</form>";
}
}
echo "</div>";
echo "<div class='block'>";
$set['p_str'] = 10;
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `chat`"),0);
$k_page = k_page($k_post,$set['p_str']);
$page = page($k_page);
$start = $set['p_str']*$page-$set['p_str'];
$q = mysql_query("SELECT * FROM `chat` ORDER BY `id` DESC LIMIT $start, $set[p_str]");
if($k_post == 0) echo "Сообщений не найдено...";
while($post = mysql_fetch_assoc($q)) {
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = $post[id_user] LIMIT 1"));
echo icons_user($ank[id])." <a href='/profile/$ank[id]'><font color='$ank[color]'>$ank[login]</font></a>, ".vremja($post['time'])." ";
if($myID != $ank['id'])echo "<a href='?to=$ank[id]'>(отв)</a>";
$msg = str_replace(array($user[login].','), "<b><i><font color='$user[color]'>$user[login]</font>, </b></i> ", $post['text']);
echo "<br>".text_msg($msg);
if($user['access'] > 0)echo " <a href='?delete_post=$post[id]'><font color='red'>(x)</font></a>";
echo "<hr>";
}
str('?',$k_page,$page); // Вывод страниц
echo "</div>";
require_once ('system/footer.php');
?>
Попробуй и сообщи что вышло)
В файл systeam/header.php
$ban = mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban = mysql_fetch_array($ban);
if($ban) { exit('BAN'); }
________
посл. ред. 20.02.2016 в 21:19; всего 2 раз(а); by elbit
В файл systeam/header.php
$ban = mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1');
$ban = mysql_fetch_array($ban);
if($ban) { exit('BAN'); }
________
посл. ред. 20.02.2016 в 21:19; всего 2 раз(а); by elbit
<?php
$ban = mysql_fetch_array(mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1'));
if ($ban && !$banpage) header('location: /ban.php?'); exit;
?> // это в шапку
файл ban.php
<?php
$banpage = true;
// база и остальное дерьмо
echo 'Даров. ты в бане :)';
?>
________
посл. ред. 20.02.2016 в 21:22; всего 2 раз(а); by rabbyte
$ban = mysql_fetch_array(mysql_query('SELECT * FROM `ban` WHERE `id_user` = "'.$myID.'" AND `last` > "'.time().'" ORDER BY `id` DESC LIMIT 1'));
if ($ban && !$banpage) header('location: /ban.php?'); exit;
?> // это в шапку
файл ban.php
<?php
$banpage = true;
// база и остальное дерьмо
echo 'Даров. ты в бане :)';
?>
________
посл. ред. 20.02.2016 в 21:22; всего 2 раз(а); by rabbyte