Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Урок Создание системы новостей на сайт с использованием MySQL.

Статус
В этой теме нельзя размещать новые ответы.

Ruxxay

Начинающий
Пользователь
Регистрация
5 Янв 2013
Сообщения
69
Лучшие ответы
0
Репутация
15
Здравствуйте, сегодня я хочу поделиться с вами своими знаниями и сделать простенькую систему новостей. Позже, если вам нужна система обратной связи и т.д вы можете легко подогнать под себя этот скрипт.
* Для редактирования HTML, PHP страниц я рекомендую NetBeans ( с подсказками и автозавершением ) и Notepad++ ( без автозавершения и подсказок ).
* Для корректной работы с php и MySQL скачайте
* Для работы с БД, я рекомендую NaviCat, но опишу тут использование с phpmyadmin, т.к это более распространено.
Ну начнем:
Для начала настроим Базу Данных MySQL:
1. Start Denwer
2. Переходим в phpmyadmin (localhost), он находится по такому адресу:
3. Создадим базу данных для нашего сайта:

Затем вводим имя бд, вместо "сравнение" ставим "utf8_general_ci".

Далее создадим таблицу, название у таблицы будет news.


А теперь приступим к созданию страниц:
1. Я предпочитаю не смешивать php и html ( пользоваться инклудом, хоть и страница будет дольше грузится ), поэтому создадим 4 файла.
  • index.php - Этот файл будет показывать самую последнюю новость.
  • allnews.php - Этот файл будет показывать список всех новостей.
  • addnews.php - Этот файл, добавляет новую новость.
  • addnewsscript.php - Это скрипт обработки ( Обрабатывает добовление новости ) !Не забудь указать нужный тебе ключ!
2. В news.php будут показываться список новостей - это как бы html файл, служит только для просмотра.
Код будет примерно таким:
HTML:
<!--Показываем новости-->
<!DOCTYPE html>
<html>
    <head>
        <title>
            Скрипт новостей для сайта | Pawno-Info.ru
        </title>
    </head>
    <body>
        <h1>Новости</h1>
        <?php
        include 'allnews.php';
        ?>
        <a href="index.php">Главная</a><a href="allnews.php">Показать все новости</a><a href="addnews.php">Добавить новость</a>
    </body>
</html>
3. А тут будет собственно allnews.php, который мы заинклудили в news.php.
HTML:
<?php
//script показа новостей
$db = mysql_connect("localhost", "root", "") or die("Не получилось подсоединиться к MySQL серверу!");
mysql_select_db("sl", $db);
$result = mysql_query("SELECT name,descr FROM `news`", $db);
while ($row = mysql_fetch_assoc($result, MYSQL_BOTH)) {
printf("<h4>%s</h4><div>%s</div>", $row["name"], $row["descr"]);
}
mysql_free_result($result);
?>
Теперь нужно сделать так, чтобы мы могли добавить нашу новость. Для этого:
4. Переходим в уже открытый файл, если нет откройте, addnews.php. Вставляем туда ниже указанный код.
HTML:
<form method="post" action="addnewsscript.php">
    <div class="modal-body">
        Название объявления:<br />
        <textarea class="textarea" name="name" rows="1"></textarea><br />
        Описание:<br />
        <textarea rows="20" id="input" name="input"></textarea>
        Ключ (чтобы левые пользователи не могли добавлять новости):<br />
        <textarea name="key" rows="1"></textarea><br />
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Закрыть</button>
        <button class="btn btn-primary" type="submit">Добавить</button>
    </div>
</form>
Чтобы добавить новость нужен ключ
Ключ вы можете задать сами, но сейчас ключ такой: 123.
5. Сейчас создадим скрипт обработки, то есть проверки ключа и добавления записи в Базу Данных (БД):
HTML:
<?php
$name = $_POST['name'];
$descr = $_POST['input'];
$key = $_POST['key'];
if ($key == 123) { //Вместо "123" вставьте ваш ключ!
    $db = mysql_connect("localhost", "root", "") or die("Не могу подсоединиться к MySQL серверу!");
    mysql_select_db("sl", $db);
    mysql_query("INSERT INTO news(`name`,`descr`) VALUES('$name','$descr') ");
    echo '<b>Успех!</b> Новость была успешно добавлена.';
    echo '
         ';
} else {
    echo '<b>Ошибка!</b> Новость не была добавлена. Вы ввели не правильный ключ.';
}
?>
Исходник ( zip ):
Автор: Я - Ruxxay | Илья.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу