Вход Регистрация
Файл: comments.php
Строк: 83
<?php
require '__core/inc.php';
head(array('title' => 'Отзывы | Миледи'));

if (!empty(
$_POST)) {
    
$com_name trim($_POST['com_name']);
    
$com_text trim($_POST['com_text']);
    
$com_type trim($_POST['com_type']);
    
    
$err = array();
    if (empty(
$com_name)) {
        
$err[] = 'Заполните поле "Ваше имя"';
    }
    if (empty(
$com_text)) {
        
$err[] = 'Заполните поле "Отзыв"';
    }
    
    
/* Проверка IP в чёрном списке */
    
$sql "SELECT * FROM `blacklist` WHERE `ip` = :ip";
    
$result $dbh->prepare($sql);
    
$result->bindValue(":ip"$_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);
    
$result->execute(); 
    
$check $result->fetch(PDO::FETCH_ASSOC);
    if (!empty(
$check)) {
        
$err[] = 'Ваш IP находится в черном списке. Вы не можете писать отзывы.';
    }
    
    if (empty(
$err)) {
        
$sql "
        INSERT INTO `comments` (`com_name`, `com_text`, `com_type`, `com_date`, `com_uagent`, `com_ip`)
        VALUES (:com_name, :com_text, :com_type, NOW(), :com_uagent, :com_ip)
        "
;
        
$result $dbh->prepare($sql);
        
$result->bindValue(":com_name"$com_namePDO::PARAM_STR);
        
$result->bindValue(":com_text"$com_textPDO::PARAM_STR);
        
$result->bindValue(":com_type"$com_typePDO::PARAM_INT);
        
$result->bindValue(":com_uagent"$_SERVER['HTTP_USER_AGENT'], PDO::PARAM_STR);
        
$result->bindValue(":com_ip"$_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);
        
$result->execute();
        
$_SESSION['msg'] = 'Отзыв успешно добавлен';
        
header("Location: /comments");
        exit;     
    }
}

if (!empty(
$_GET['delete']) && !empty($_SESSION['admin'])) {
    
$com_id $_GET['delete'];
    
    
$sql "DELETE FROM `comments` WHERE `com_id` = :com_id";
    
$result $dbh->prepare($sql);
    
$result->bindValue(":com_id"$com_idPDO::PARAM_INT);
    
$result->execute(); 
    
header("Location: /comments");
    exit;
}

if (!empty(
$_GET['banip']) && !empty($_SESSION['admin'])) {
    
$ip $_GET['banip'];
    
    
$sql "INSERT INTO `blacklist` (`ip`) VALUES (:ip)";
    
$result $dbh->prepare($sql);
    
$result->bindValue(":ip"$ipPDO::PARAM_STR);
    
$result->execute(); 
    
header("Location: /comments");
    exit;
}

get_msg();

if (!empty(
$err)):
?>
    <div class="error">
        <ul>
            <?php foreach ($err as $error): ?>
                <li><?= $error ?></li>
            <?php endforeach; ?>
        </ul>
    </div>
<?php 
endif;
?>
<div class="content">
    <div class="title">Отзывы</div>
    <ul>
    <?php
    $total 
$dbh->query("SELECT * FROM `comments`")->rowCount();
    
    
$p = new Pagination;
    
$p->sett($total$config['other']['perpage']);
    
    
$query "SELECT * FROM `comments` ORDER BY `com_id` DESC " $p->limit();
    
$sql $dbh->query($query);
    
$data $sql->fetchAll(PDO::FETCH_ASSOC);
    if (
$total):
        foreach (
$data as $comment):
        
?>
            <li>
                <b>Имя:</b> <?= htmlspecialchars($comment['com_name']) ?> <?= $comment['com_date'?><br />
                <b>Отзыв:</b> <?= nl2br(htmlspecialchars($comment['com_text'])) ?><br />
                <b><?= (empty($comment['com_type']) ? 'Положительный' 'Отрицательный'?></b><br />
                
                <?php if (isset($_SESSION['admin'])): ?>
                    <a href="/comments?delete=<?= $comment['com_id'?>">Удалить</a><br />
                    <b>IP:</b> <?= $comment['com_ip'?> <a href="/comments?banip=<?= $comment['com_ip'?>">[В ЧС]</a><br />
                    <b>uAgent:</b> <?= $comment['com_uagent'?><br />
                <?php endif; ?>
                <hr />
            </li>
        <?php
        
endforeach;
        echo 
$p->get();
    else:
    
?>
        <li>Отзывы не добавлены</li>    
    <?php endif; ?>
    </ul>
</div>
<form method="POST">
    <ul>
        <li><label for="com_name">Ваше имя:</label></li>
        <li><input id="com_name" name="com_name" value="<?= (isset($_POST['com_name']) ? htmlspecialchars($_POST['com_name']) : NULL?>"/></li>
        <li><label for="com_text">Отзыв:</label></li>
        <li><textarea id="com_text" name="com_text"><?= (isset($_POST['com_text']) ? htmlspecialchars($_POST['com_text']) : NULL?></textarea></li>
        <li><select name="com_type"><option value="0">Положительный</option><option value="1" <?= (isset($_POST['com_type']) && $_POST['com_type'] == 'selected' NULL?>>Отрицательный</option></select></li>
        <li><img src="captcha.php" alt=""/><br /><label for="captcha">Введите проверочный код:</label><br /></li>
        <li><input id="captcha" name="captcha"/></li>
        <li><button>Добавить</button></li>
    </ul>
    
</form>
<?php
if (!empty($_SESSION['admin'])) {
    
?>
    <a href="/apanel/blacklist">Черный список</a>
    <?php
}
?>
<div class="nav">
    <ul>
        <li><a href="/">Главная</a></li>
    </ul>
</div>
<?php
footer
();
?>
Онлайн: 0
Реклама