Для разработчиков Epic Games | Store.

Для разработчиков Epic Games | Store. Если вы не можете сделать отзывы сами, то зайдите в Google/Yandex и напишите "скрипт отзывов для сайта php". Дальше выбираете понравившеюся вам ссылку и Ctrl+C = Ctrl+V. А если вы не умеете пользоваться поисковиками, то я вам помогу.

В первую очередь, нам необходимо создать базу данных и таблицу, где будет копиться информация:

CREATE TABLE IF NOT EXISTS `shoutbox` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date_time` datetime NOT NULL,
  `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `message` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM

Простая форма:

<h2>Shoutbox</h2>
<form method="post" action="shout.php">
    Name: <input type="text" id="name" name="name" />
    Message: <input type="text" id="message" name="message" class="message" />
    <input type="submit" id="submit" value="Submit" />
</form>

<div id="shout"></div>

Данный код создаст нам форму, которая удовлетворяет всем условиям. Теперь я покажу вам код jQuery, который будет извлекать и отсылать данные:

$(function() {

    $("#submit").click(function() {
        // получаем то, что написал пользователь
        var name    = $("#name").val();
        var message = $("#message").val();
        // Формируем строку запроса
        var data            = 'name='+ name +'&message='+ message;

        // ajax вызов
        $.ajax({
            type: "POST",
            url: "shout.php",
            data: data,
            success: function(html){ // после получения результата
                $("#shout").slideToggle(500, function(){
                    $(this).html(html).slideToggle(500);
                    $("#message").val("");
                });
          }
        });
        return false;
    });
});

Всё что является на мой взгляд важным, я отметил комментарием. Этот код собирает ту информацию, которую пользователь ввёл в форму, и отправляет в файл shout.php, который в свою очередь вставляет новые данные в БД и возвращает результат. Выражение return false используется для того чтобы определить, была ли отправлена форма.

А теперь я покажу вам, как использовать расширение PDO, для того чтобы обезопасить себя при помощи подготовленных выражений и других вещей.

PHP Data Objects (PDO) - расширение для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных.

Вашему вниманию представляю файл shout.php:

/*** mysql хост ***/
$hostname = 'localhost';

/*** mysql пользователь ***/
$username = 'root';

/*** mysql пароль ***/
$password = '';

$dbname = 'shout';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);

if($_POST['name']) {
    $name         = $_POST['name'];
    $message    = $_POST['message'];
    /*** превратить все ошибки в исключения ***/
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "INSERT INTO shoutbox (date_time, name, message)
            VALUES (NOW(), :name, :message)";
    /*** готовим выражение ***/
    $stmt = $dbh->prepare($sql);

    /*** вставляем параметры ***/
    $stmt->bindParam(':name', $name, PDO::PARAM_STR);
    $stmt->bindParam(':message', $message, PDO::PARAM_STR);

    /*** запускаем sql выражение ***/
    if ($stmt->execute()) {
        populate_shoutbox();
    }
}
}
catch(PDOException $e) {
    echo $e->getMessage();
}

/***** --- *****/
if($_POST['refresh']) {
    populate_shoutbox();
}
/********************************/

function populate_shoutbox() {
    // нам не нужно снова подключаться
    global $dbh;
    $sql = "select * from shoutbox order by date_time desc limit 10";
    echo '<ul>';
    foreach ($dbh->query($sql) as $row) {
        echo '<li>';
        echo '<span class="date">'.date("d.m.Y H:i", strtotime($row['date_time'])).'</span>';
        echo '<span class="name">'.$row['name'].'</span>';
        echo '<span class="message">'.$row['message'].'</span>';
        echo '</li>';
    }
    echo '</ul>';
}

Оказывается это так просто.

Для разработчиков Epic Games | Store., image #1

Вы спросите зачем я это все написал, ответ очень прост из-за спора с друзьями. Epic Games | Store полная параша, тут нет отзывов и т.д. Друзья мне говорят Steam не сразу стал таким какой он есть сейчас, это то да. Только steam развивался сам. Это как Менделеев который открыл периодическую систему химических элементов. А Epic Games | Store будет говно.

126 views·5 shares