Simple Forum
Simple Forum is responsive forum script with private and public mode.
Documentation Version 1.0
Installation Instruction
Requirements: Apache 2.2+, Mysql 5.4+ (only_full_group_by disabled), PHP 5.4+
- Copy/Upload the folder and files to your web server using cPanel or FTP
- If you are installing in sub folder, please make sure there is no space in folder names
- Create mysql database, database user and grant all permission to user for this database.
- Open the http://yourdomain.com/pathtoupload/install/index.php
- Step 1: Pre-install system checklist — If there is any issue with checklist, you will need to fix it first to proceed to next step.
- Step2: Provide you Envato Username and Purchase Code to validate the purchase.
- Step 3: Provide the database host, database user, database password and database name to proceed to next step. Please make sure you don’t have $ sign in your password.
- Step 4: Site Config: Please Fill in you Simple Stock Base URL and select your timezone. You must check the site url as installer might guess it wrong
- Base URL for public_html or www/htdocs folder will be http://yourdomain.com/ or http://localhost/
- Base URL for sub-domain will be http://subdomain.yourdomain.com/
- Base URL for sub-folder will be http://yourdomain.com/subfolder/ or http://localhost/subfolder/
- Base URL must not have space and it should end with a trailing slash
- If every thing goes smooth, You will be redirect to final page with login details.
- Remove the install folder.
- Login using default username and password and add new admin user before editing/delete the default user.
- Simple Forum is ready to use.
Request Installation
We will provide the service to install the item for $20 To request the installation, please send $20 to saleem@tecdiary.com by Paypal or Skrill and email us your license file and hosting control panel details with reference of your payment to support@tecdiary.com
Update Instructions
Requirements: Apache 2.2+, Mysql 5.4+ (only_full_group_by disabled), PHP 5.4+
- Backup all your files/folders and database (must do backup before stating update).
- Download and save app/config/dataabse.php
- Delete all the files/folders from the main directory and upload all the files and folders in new version using cPanel or FTP.
- Edit newly updated app/config/database.php and set the correct dbhost, dbuser, dbpass and dbname from the download database.php in step 2.
- Open the http://yourdomain.com/pathtoupload/update/index.php
- Go through the checklist and click next and verify the purchase and follow the step on screen.
- You will be redirect to final page and now you can login to Simple Forum with your old login.
- Remove the install and update folders. You are done. In case you have any issue after this, please refer to the FAQs section below.
Request Update
We will provide the service to update the item for $20 To request the installation, please send $20 to saleem@tecdiary.com by Paypal or Skrill and email us your license file and hosting control panel details with reference of your payment to support@tecdiary.com
Live Demo For Simple Forum V0.1
Demo Link: http://forum.tecdiary.my/
Login Details:
Credits
Thanks to all great people who are developing open source software.
- CodeIgniter — PHP-Framework under MIT License
- Ion_auth — A simple, lightweight authentication library by Ben Edmunds under the Apache License v2
- Bootstrap — Most popular HTML, CSS, and JS framework under MIT License
- jQuery — A fast, small, and feature-rich JavaScript library under MIT License
- Font Awesome — The iconic font and CSS toolkit under GPL License.
- Bootstrap-datetimepicker — Under MIT License
- Select2 — Under MIT License
- Trumbowyg — Under MIT License
- SCEditor — Under MIT License
- SimpleDME — Under MIT License
- Toastr — Under MIT License
- Commercial Licenses
- FormValidator
Thanks to all the friends for their suggestions, feedback and help.
Frequently Asked Questions
General
- Update base url from http://yoursite.com to https://yoursite.com
- Set $config[‘cookie_secure’] to TRUE
Yes, you can modify the script as per your needs and license.
We offer Regular License only that allows you to use the Item to create one single End Product for yourself or for one client (a “single application”). If you have more then once clients, you will need to purchase separate license for each client.
You can visit this link to licensing faqs page of Evnato marketplace.
Yes, you can. Please update the settings with site name.
You can easily add new languages to Simple Forum. Please click here to jump to guide.
You can install this item on localhost with any web platform xampp, mamp, lamp, wamp or easyphp. Internet connectivity is required for installation to verify the purchase. Once installed, you can use it without Internet.
Yes, you will get 100% source code including php, js, html and css.
Yes, CodeIgniter – PHP Framework created by EllisLab and is now a project of the British Columbia Institute of Technology.
The header and footer files are in themes/default/views/
Account and Users
- Admin — will have all rigths, and can perform any action.
- Moderator — will have all admin rights except users, settings and delete
- Member — will have standard member rights to add topics and replies and edit their own.
Please visit list user and check profile of the user then select edit tab to reset the password.
If you want to delete account, please visit list users. All the account are listed on this page and you can delete any of them.
Error
If you are not getting any error but blank red alert or CloudFlare Security error mean your request is no reaching to verification server. Please check that you server is not blocking the curl request and secondly there are chances that CloudFlare might be challenging your request due to various reasons. Please check with your host and request them to white list CloudFlare ips https://www.cloudflare.com/ips
Updating your Anti-Virus and Browser might help. You can check with your host too.
You can try different host and/or install it locally with any web platform easyphp/lamp/mamp/wamp/xampp.
Please add the ? ‘question sign’ after index.php in the .htaccess file, you line will be look as RewriteRule ^(.*)$ /index.php?$1 [L] code. You might need to change the Hauth_base_url in app/config/hybridauthlib.php, if you are using the social authentication like Facebook and Google.
For more information, please visit this guide page.
After successfully installation/update, the installer/update tool will be automatically locked.
If you having any issue after installation or like to perform the installation again, please upload the files again.
- make sure that your apache mod_rewite is enabled
- check that .htaccess file is successfully uploaded and exists in the main directory of installation
- base_url in app/config/config.php
- check your database settings in app/config/database.php
- check your folders/files permissions (folders should have 755 and files should have 644 permissions).
If you are using godaddy or iPage, please visit the codeigniter official guide here. You might need to check and modify you .htaccess files too.
You can always check your error log to get more information about the issue.
Forum will use your server local time, please check your timezone in index.php and make sure that you have set the correct time zone. You can find your timezone at http://php.net/manual/en/timezones.php
Please update your email protocol in settings, if you need check the semd_email method, the file will be app/libraries/tec.php and look for send_email()
Timeout feature has been enabled. The user will be timed out after 3 unsuccessful login attempts for 10 minutes. You can disabled this in app/config/ion_auth.php by changing the $config[‘track_login_attempts’] = TRUE; to $config[‘track_login_attempts’] = FALSE; or you can increase the attempts from 3 to any number you like.
This could be due to permission on the /uploads. Please set 777 permission to /uploads and all other folder in the /uploads/
Please check your db configuration in app/config/database.php
Yes but we haven’t tested this and don’t provide any support for setup.
If URL Rewrite module is not installed, please install it from here http://www.iis.net/downloads/microsoft/url-rewrite. Please check the complete web.config file. Place this in the main installation folder where the index.php is placed.
Yes but we haven’t tested this and don’t provide any support for setup.
You can follow the guide http://wiki.nginx.org/Codeigniter. Your nginx.conf file will look like this.
You can exclude sub-directory from RewriteRule of wordpress by adding the line below to your .htaccess file in main directory of wordpress.
User Guide






Adding Language
- Please create new folder in app/language/ and name it yourlanguagename
- Folder name should be without space and all lower letters.
- Copy all the files from app/language/english/ and paste then to app/language/ yourlanguagename /
- Now you can translate these all file to your language
- Download flag image (format: png, width: 16px, height: 11px) and paste it in themes/default/assets/img/
- You can add new key to language array. (See Code Section)
Please replace the yourlanguagename with your language For example, spanish, french, chinese etc
To add select option in setting’s language
Please open themes/default/views/settings/index.php and search for ( $available_lang = ) You can replace the default with your theme if you are using different theme. You can add new array key for your language as following:
yourlanguagename must be same folder name that you created in app/language/
Создание сайта или форума [закрыт]
Закрыт. На этот вопрос невозможно дать объективный ответ. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 6 лет назад .
Подскажите, пожалуйста, (желательно на примере: я новичок в написании html-страниц, только начал учиться) на html-странице будущего сайта сделать форум или стену для записей. А также, если можно, как сделать форму ввода логина/пароля для входа на сайт (для администрирования). Заранее благодарю.
Что-бы создать форум или «Стену» тебе потребуются знания не только самых простых языков программирования таких как HTML и CSS, тебе требуются знания: JQuery, PHP, C++, JavaScript, а также никак без Баз данных MySQL
Если вы не специалист в веб-дизайне и не профессиональный программист, не нужно тратить свое время на создание собственного скрипта или даже движка. Более того, не нужно пытаться установить на свой хостинг готовый скрипт вроде PunBB или PHPBB. Гораздо проще использовать готовый сервис, благо таких достаточно много. Например, mybb.ru или rusff.ru. Обычно за небольшую мзду можно отключить рекламу, прикрутить форум к своему домену и т.д.
http://htmlbook.ru/html Думаю вам пригодится=)
Если возникает вопрос как сделать форму логина/пароля, то советую почитать книги какиенибудь (RTFM! как говорится=) ). Вопрос простейший.
Скачай простую гостевую книгу и посмотри исходники!:) Что бы встроить это к себе на PHP страницу, достаточно выполнить include.
Я, со своими маленькими знаниями, написал свою простую гостевую книгу (PHP):
http://narod.ru/disk/41065977001/gb.rar.html
Ты можешь посмотреть исходные коды — там нет ничего не понятного, так как я это делал когда «совсем» ничего не знал. Там нет использования MySQL и других подобных вещей, а только файлы :D.
Думаю, что это тебе поможет сделать стену, или форум, вот. 🙂А что бы сделать форму входа, то не обязательно использовать форму. Можно устроить обычную проверку IP, а если это не подходит, то на хабрахабре есть отличная статья о авторизации на PHP + MySQL:
http://habrahabr.ru/blogs/php/13726/Что-бы создать свой сайт/блог/все_что_хочешь_в_WEBе тебе потребуются знания языков программирования:
1) HTML и CSS, javascript (j-Qvery) для оформления внешнего вида
2) серверный язык программирования, например php (ruby, scala, haskell)
3) знания SQL для работы с базами данных, где будет хранится информация
это минимумHighly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
Как создать форум на сайте

От автора: приветствую всех читателей. Сегодня вполне обычной является картинка, когда сайт совмещает в себе несколько функций, которые обычно выполняют разные проекты. Так вот, как создать форум на сайте, если это вдруг стало необходимостью? Давайте разберемся в этом сегодня.
Два варианта размещения форума
Итак, вы уже определились с тем, что форум должен быть частью вашего проекта, а не создаваться на отдельном домене. Теперь вам нужно более конкретно выбрать, где его разместить. Тут есть 2 варианта:
Создать поддомен (или субдомен)
Создать новый каталог в корневой папке
Эти способы достаточно сильно отличаются друг от друга. Чем? Прежде всего тем, что субдомен не получает параметров, которые есть у основного ресурса, это как бы совсем отдельный островочек со своим отдельным функционалом. В таком случае адрес вашего форума будет примерно таким: forum.yoursite.ru

Профессия Frontend-разработчик PRO
Готовим Frontend-разработчиков с нуля
На курсе вы научитесь создавать интерфейсы веб-сервисов с помощью языков программирования и дополнительных технологий. Сможете разрабатывать планировщики задач, мессенджеры, интернет-магазины…
Такой способ немного сложнее следующего, поэтому на нем я остановлюсь подробнее. Именно на том, как создать поддомен. Объясню на примере панели ispmanager. Вам нужно выбрать пункт WWW-домены и выделить нужный адрес, после чего нажать кнопку Изменить.

Тут вам нужно найти настройку Автоподдомены и указать вариант: в отдельной директории, я советую именно этот вариант, так как он позволит полностью отделить раздел от основного ресурса.

Теперь идем в менеджер файлов. Вам нужно попасть в папку со списком ваших доменов. То есть не в корневую папку конкретного сайта, а на уровень выше. Здесь создаем новый каталог, его нужно назвать примерно так: forum.site.ru. Все, теперь для примера можете бросить туда html-файл и проверить, открывается ли он. Если да, значит вы все сделали правильно. Место для форума готово.
Если же вы создадите просто новую папку в корневом каталоге, то такой форум получит все показатели своего ресурса, а еще он также будет влиять на эти показатели. Но при этом это тоже останется как бы отдельным островком, куда вы можете поставить другой шаблон, да даже другой движок. Путь к форуму будет примерно таким: yoursite.ru/forum
То есть это будет как будто отдельный сайт со своей cms, но в то же время он будет всего лишь ответвлением, как будто это какая-то отдельная рубрика.
Допустим, вы выбрали второй способ, с созданием новой папки в корне. Что делать дальше? Дальше, собственно говоря, нужно поставить какой-то движок туда. Скорее всего, он будет отличаться от основного движка. Например, если вы решили прикрутить форум к блогу, то наверняка сам блог работает на WordPress, а вот форум делать на этом движке не так удобно, хотя это и возможно с помощью сторонних расширений.
Собственно, перед вами должен встать вопрос выбора движка, который будет использован для вашего проекта. Допустим, вы выбрали phpBB. Дальше его нужно установить. Этот процесс выглядит абсолютно так же, как будто бы вы устанавливали cms в корень сайта. Вместо корня файлы движка нужно поместить в директорию, в которой будет находиться форум, после чего перейти по этому адресу и произвести установку.
Для этого вам понадобится создать новую базу данных и назначить для нее пользователя. Далее вам нужно следовать инструкциям установщика конкретной cms. Например, если это PhpBB, то инструкция прилагается вместе с файлами движка. Если же вы решили использовать платную cms для форума, то тем более вам предоставят информацию по ее установке.
Перед всем этим вы можете узнать, поддерживается ли на вашем сервере возможность автоматически устанавливать скрипты. Если да, то вполне возможно, это сильно упростит вам процесс, хотя в таком случае не всегда устанавливается свежая версия системы. Например, я в своей панели нашел возможность поставить тот же phpBB, хотя ничто не мешает вам скачать файлы самостоятельно с официального сайта и произвести установку полностью вручную:

Настройка и наполнение
После установки движка, по сути, все уже будет готово и можно начинать развивать ваш новый раздел. А еще неплохо будет правильно все настроить с технической точки зрения. Собственно, дальнейшая ваша работа будет заключаться в том, чтобы получше изучить новый движок, который вы выбрали, и нормально все настроить, выбрать шаблон, установить нужные дополнения и т.д.
Также на главном сайте теперь добавьте в меню соответствующую ссылку на новый раздел сайта. Также можете дополнительно как-то анонсировать его открытие в новой статье. Так вы сможете получить первых посетителей на форум.
Какая польза от размещения у себя на сайте форума?
Во-первых, там проще общаться и отвечать на вопросы пользователей. Во-вторых, это позволит резко увеличить количество проиндексированных поисковиками страниц, так как на форуме контент создается в основном пользователями, слишком длинные темы обычно никто не создает, но все равно такие темы и их обсуждение могут принести дополнительный трафик на ваш ресурс. На форуме нужно сделать ссылку на ваш основной сайт и какой-то процент этих пришедших людей будут переходить в итоге на ваш основной проект.
В общем, если вы хотите увеличить функциональность своего ресурса, создание форума на сайте является достаточно хорошим решением. Также он может служить для организации закрытого доступа к какому-нибудь содержимому, организации закрытого клуба или чего-то в этом роде.

Профессия Frontend-разработчик PRO
Готовим Frontend-разработчиков с нуля
На курсе вы научитесь создавать интерфейсы веб-сервисов с помощью языков программирования и дополнительных технологий. Сможете разрабатывать планировщики задач, мессенджеры, интернет-магазины…
А если вы хотите научиться сами редактировать исходный код движков и хотя бы немного изменять его под себя, я советую вам начать изучение PHP и MySQL. Перейдя по этой ссылке, вы как раз можете найти уроки по этому языку. Изучите хотя бы основы, а потом уже сами будете решать, что вам нужно дальше. Возможно, так когда-нибудь создадите свой собственный движок для форума.
Как создать форум с поддержкой PHP / MySQL с нуля
В этом руководстве мы собираемся создать форум с поддержкой PHP / MySQL с нуля. Этот учебник идеально подходит для привыкания к базовому использованию PHP и баз данных.
Если вам нужна дополнительная помощь по этому или другим вопросам, связанным с PHP, попробуйте связаться с одним из разработчиков PHP в Envato Studio. Они могут помочь вам во всем – от исправлений PHP до разработки надежных приложений PHP.

Шаг 1: Создание таблиц базы данных
Всегда полезно начинать с создания хорошей модели данных при создании приложения. Давайте опишем наше приложение одним предложением: мы собираемся создать форум, на котором есть пользователи, которые создают темы в различных категориях . Другие пользователи могут оставлять ответы. Как видите, я выделил пару существительных, которые представляют имена наших таблиц.
пользователей
- категории
- темы
- Сообщений
Эти три объекта связаны друг с другом, поэтому мы будем обрабатывать их в нашей таблице. Посмотрите на схему ниже.

Выглядит довольно аккуратно, а? Каждый квадрат – это таблица базы данных. Все столбцы перечислены в нем, и линии между ними представляют отношения. Я объясню их далее, так что все в порядке, если это не имеет большого смысла для вас прямо сейчас.
Я буду обсуждать каждую таблицу, объясняя SQL, который я создал, используя схему выше. Для ваших собственных скриптов вы можете создать аналогичную схему и SQL тоже. Некоторые редакторы, такие как MySQL Workbench (тот, который я использовал), также могут генерировать файлы .sql, но я бы порекомендовал изучать SQL, потому что гораздо интереснее делать это самостоятельно. Введение в SQL можно найти в W3Schools .
Таблица пользователей
Конечно, оператор CREATE TABLE используется для указания того, что мы хотим создать новую таблицу. За оператором следует имя таблицы, а все столбцы указаны в скобках. Имена всех полей не требуют пояснений, поэтому мы обсудим только типы данных ниже.
ID пользователя
«Первичный ключ используется для уникальной идентификации каждой строки в таблице».
Тип этого поля – INT, что означает, что это поле содержит целое число. Поле не может быть пустым (NOT NULL) и увеличивается на единицу, добавляемое каждой записью. Внизу таблицы вы можете видеть, что поле user_id объявлено как первичный ключ. Первичный ключ используется для уникальной идентификации каждой строки в таблице. Ни одна из двух отдельных строк в таблице не может иметь одинаковое значение (или комбинацию значений) во всех столбцах. Это может быть немного неясно, поэтому вот небольшой пример.
Есть пользователь по имени Джон Доу. Если другие пользователи регистрируются с тем же именем, возникает проблема, потому что: какой пользователь какой? Вы не можете сказать, и база данных также не может сказать. С помощью первичного ключа эта проблема решается, поскольку обе темы уникальны.
Все остальные таблицы также имеют первичные ключи и работают одинаково.
user_name
Это текстовое поле, называемое полем VARCHAR в MySQL. Число в скобках – это максимальная длина. Пользователь может выбрать имя пользователя длиной до 30 символов. Это поле не может быть пустым. Внизу таблицы видно, что это поле объявлено UNIQUE, что означает, что одно и то же имя пользователя не может быть зарегистрировано дважды. Часть UNIQUE INDEX сообщает базе данных, что мы хотим добавить уникальный ключ. Затем мы определяем имя уникального ключа, user_name_unique в этом случае. Между скобками находится поле, к которому применяется уникальный ключ, то есть user_name.
user_pass
Это поле равно полю user_name, за исключением максимальной длины. Поскольку пароль пользователя, независимо от его длины, хэшируется с помощью sha1 (), пароль всегда будет длиной 40 символов.
user_email
Это поле равно полю user_pass.
user_date
Это поле, в котором мы будем хранить дату регистрации пользователя. Это тип DATETIME, и поле не может быть NULL.
user_level
Это поле содержит уровень пользователя, например: «0» для обычного пользователя и «1» для администратора. Подробнее об этом позже.
Таблица категорий
Эти типы данных в основном работают так же, как и в таблице пользователей. Эта таблица также имеет первичный ключ, и имя категории должно быть уникальным.
Таблица тем
Эта таблица почти такая же, как и другие таблицы, за исключением поля topic_by. Это поле относится к пользователю, который создал тему. Topic_cat относится к категории, к которой относится тема. Мы не можем форсировать эти отношения, просто объявив поле. Мы должны сообщить базе данных, что это поле должно содержать существующий user_id из таблицы users или действительный cat_id из таблицы категорий. Мы добавим некоторые отношения после того, как я обсудил таблицу сообщений.
Таблица сообщений
Это так же, как остальные таблицы; здесь также есть поле, которое ссылается на user_id: поле post_by. Поле post_topic относится к теме, к которой принадлежит сообщение.
«Внешний ключ – это ссылочное ограничение между двумя таблицами. Внешний ключ идентифицирует столбец или набор столбцов в одной (ссылающейся) таблице, которая ссылается на столбец или набор столбцов в другой (ссылочной) таблице».
Теперь, когда мы выполнили эти запросы, у нас есть довольно приличная модель данных, но отношения по-прежнему отсутствуют. Давайте начнем с определения отношений. Мы собираемся использовать то, что называется внешним ключом. Внешний ключ является ссылочным ограничением между двумя таблицами. Внешний ключ идентифицирует столбец или набор столбцов в одной (ссылающейся) таблице, которая ссылается на столбец или набор столбцов в другой (ссылающейся) таблице. Некоторые условия:
- Столбец в таблице ссылок, на которую ссылается внешний ключ, должен быть первичным ключом
- Указанные значения должны существовать в ссылочной таблице.
При добавлении внешних ключей информация связывается воедино, что очень важно для нормализации базы данных. Теперь вы знаете, что такое внешний ключ и почему мы его используем. Пришло время добавить их в таблицы, которые мы уже создали, с помощью оператора ALTER, который можно использовать для изменения уже существующей таблицы.
Сначала мы свяжем темы с категориями:
Последняя часть запроса уже говорит, что происходит. Когда категория удаляется из базы данных, все темы также будут удалены. Если cat_id категории изменится, каждая тема также будет обновлена. Вот для чего нужна часть ОБНОВЛЕНИЯ КАСКАДА. Конечно, вы можете отменить это, чтобы защитить свои данные, так что вы не можете удалить категорию, если у нее все еще есть связанные темы. Если вы хотите сделать это, вы можете заменить часть «ON DELETE CASCADE» на «ON DELETE RESTRICT». Также есть SET NULL и NO ACTION, которые говорят сами за себя.
Теперь каждая тема связана с категорией. Давайте свяжем темы с пользователем, который его создаст.
Этот внешний ключ такой же, как и предыдущий, но есть одно отличие: пользователь не может быть удален, пока есть темы с идентификатором пользователя. Мы не используем CASCADE здесь, потому что в наших темах может быть ценная информация. Мы не хотим, чтобы эта информация была удалена, если кто-то решит удалить свою учетную запись. Чтобы по-прежнему предоставлять пользователям возможность удалять свои учетные записи, вы можете создать функцию, которая анонимизирует все их темы, а затем удалить их. К сожалению, это выходит за рамки этого урока.
Связать сообщения с темами:
И, наконец, свяжите каждое сообщение с пользователем, который сделал это:
Это часть базы данных! Это было довольно много работы, но результат, отличная модель данных, определенно стоит того.
Шаг 2: Введение в систему верхнего / нижнего колонтитула
Каждая страница нашего форума нуждается в нескольких основных вещах, таких как тип документа и некоторая разметка. Вот почему мы добавим файл header.php вверху каждой страницы и файл footer.php внизу. Header.php содержит тип документа, ссылку на таблицу стилей и некоторую важную информацию о форуме, такую как тег заголовка и метатеги.
header.php
Div обертки будет использоваться, чтобы упростить стиль всей страницы. Меню div, очевидно, содержит меню со ссылками на страницы, которые нам еще предстоит создать, но помогает понять, куда мы движемся. Div пользовательской панели будет использоваться для небольшой верхней панели, которая содержит некоторую информацию, такую как имя пользователя и ссылку на страницу выхода из системы. Очевидно, что страница содержания содержит фактическое содержимое страницы.
Внимательный читатель, возможно, уже заметил, что мы упускаем некоторые вещи. Нет </body> или </html> . Они находятся на странице footer.php, как вы можете видеть ниже.
Когда мы добавляем верхний и нижний колонтитулы на каждой странице, остальная часть страницы встраивается между верхним и нижним колонтитулом. Этот метод имеет некоторые преимущества. В первую очередь все будет оформлено правильно. Краткий пример:
Как видите, страница без ошибок приведет к хорошей странице с контентом. Но если есть ошибка, все выглядит действительно безобразно; поэтому лучше убедиться, что не только настоящий контент правильно стилизован, но и ошибки, которые мы можем получить.
Еще одним преимуществом является возможность внесения быстрых изменений. Вы можете убедиться сами, отредактировав текст в footer.php, когда закончите этот урок; Вы заметите, что нижний колонтитул меняется на каждой странице сразу. Наконец, мы добавляем таблицу стилей, которая предоставляет нам некоторую базовую разметку – ничего особенного.
Шаг 3: Готовимся к действию
Прежде чем мы сможем прочитать что-либо из нашей базы данных, нам нужно соединение. Вот для чего предназначен connect.php. Мы включим его в каждый файл, который собираемся создать.
Просто замените значения переменных по умолчанию в верхней части страницы на собственную дату, сохраните файл, и все готово!
Шаг 4: Отображение обзора форума
Так как мы только начали с некоторых базовых методов, мы сейчас сделаем упрощенную версию обзора форума.
Вот вам и хороший обзор. Мы будем обновлять эту страницу на протяжении всего урока, чтобы шаг за шагом она больше походила на конечный результат!
Шаг 5: Регистрация пользователя
Давайте начнем с создания простой HTML-формы, чтобы новый пользователь мог зарегистрироваться.

Страница PHP необходима для обработки формы. Мы собираемся использовать переменную $ _SERVER. Переменная $ _SERVER – это массив, значения которого автоматически устанавливаются при каждом запросе. Одним из значений массива $ _SERVER является REQUEST_METHOD. Когда страница запрашивается с помощью GET, эта переменная будет содержать значение «GET». Когда страница запрашивается через POST, она будет содержать значение «POST». Мы можем использовать это значение, чтобы проверить, была ли опубликована форма. Смотрите страницу signup.php ниже.
Многочисленные объяснения есть в комментариях, которые я сделал в файле, поэтому обязательно ознакомьтесь с ними. Обработка данных происходит в три этапа:
- Проверка данных
- Если данные неверны, покажите форму еще раз
- Если данные верны, сохраните запись в базе данных
Часть PHP довольно понятна. Однако SQL-запрос, вероятно, нуждается в небольшом пояснении.
В строке 1 у нас есть оператор INSERT INTO, который говорит сам за себя. Имя таблицы указывается во второй строке. Слова в скобках представляют столбцы, в которые мы хотим вставить данные. Оператор VALUES сообщает базе данных, что мы завершили объявление имен столбцов, и пришло время указать значения. Здесь есть что-то новое: mysql_real_escape_string. Функция экранирует специальные символы в неэкранированной строке, поэтому ее можно безопасно разместить в запросе. Эта функция ДОЛЖНА использоваться всегда, за очень немногими исключениями. Слишком много скриптов, которые не используют его и могут быть взломаны очень легко. Не рискуйте, используйте mysql_real_escape_string ().
«Никогда не вставляйте простой пароль как есть. Вы ДОЛЖНЫ всегда его шифровать».
Также вы можете видеть, что функция sha1 () используется для шифрования пароля пользователя. Это тоже очень важная вещь для запоминания. Никогда не вставляйте простой пароль как есть. Вы ДОЛЖНЫ всегда шифровать это. Представьте себе хакера, которому каким-то образом удается получить доступ к вашей базе данных. Если он видит все текстовые пароли, он может войти в любую учетную запись (администратора), которую он хочет. Если столбцы пароля содержат строки sha1, он должен сначала взломать их, что практически невозможно.
Примечание: также возможно использовать md5 (), я всегда использую sha1 (), потому что тесты показали, что он немного быстрее, хотя и немного. Вы можете заменить sha1 на md5, если хотите.
Если процесс регистрации прошел успешно, вы должны увидеть что-то вроде этого:

Попробуйте обновить экран phpMyAdmin, новая запись должна быть видна в таблице пользователей.
Шаг 6: Добавление аутентификации и пользовательских уровней
Важным аспектом форума является разница между обычными пользователями и администраторами / модераторами. Поскольку это небольшой форум, и добавление таких функций, как добавление новых модераторов и прочего, займет слишком много времени, мы сосредоточимся на процессе входа в систему и создадим некоторые функции администратора, такие как создание новых категорий и закрытие темы.
Теперь, когда вы выполнили предыдущий шаг, мы сделаем вашу вновь созданную учетную запись учетной записью администратора. В phpMyAdmin, нажмите на таблицу пользователей, а затем «Обзор». Ваша учетная запись, вероятно, появится сразу же. Нажмите на значок редактирования и измените значение поля user_level с 0 на 1. Вот и все. Вы не заметите никакой разницы в нашем приложении сразу, но когда мы добавим администратора, у него будет обычная учетная запись, и у вашей учетной записи будут другие возможности.