- •«Санкт-Петербургский государственный электротехнический университет «лэти» имени в.И. Ульянова (Ленина)»
- •Описание управляющей сайтом среды Denwer
- •Создание базы данных «Base», ее таблицы и структура
- •1. Qweqwe
- •2.Gbook
- •Создание страниц сайта и самих форм регистрации, авторизации
- •1. Index.Php
- •2. Auth.Php
- •3. Reg.Php
- •4. Register.Php
- •5. Gost.Php
- •6. Add.Php
- •7. Read.Php
- •8. Otkat.Php
- •Index.Php Nick Password Неуспех Успех Gost.Php Name text Страница с сообщениями
- •Использованные в работе операторы и функции языка php и sql и их описание
- •Описание использованного в работе объекта cookies
Создание базы данных «Base», ее таблицы и структура
Для создания БД были использованы следующие SQL-запросы:
create database Base;
CREATE TABLE `Base`.` qweqwe` (
`nick` VARCHAR( 25 ) NOT NULL PRIMARY KEY ,
`password` VARCHAR( 25 ) NOT NULL
`mail` VARCHAR( 25 ) NOT NULL
) ENGINE = MYISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci
CREATE TABLE `Base`.`gbook` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT INDEX KEY ,
`name` VARCHAR( 25 ) NOT NULL ,
`text` VARCHAR( 300 ) NOT NULL
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci
где
CREATE – встроенный оператор языка SQL, означающий создание нового объекта
«Base» - имя БД
«qweqwe» и «gbook» - имена таблиц в БД
‘nick’, ‘password’, ‘mail’, ‘id’, ‘name’, ‘text’ – поля в таблицах БД
INT и VARCHAR – типы данных полей в таблицах
PRIMARY KEY – индекс для упорядочивания таблицы qweqwe
INDEX KEY – индекс для упорядочивания таблицы gbook
AUTO_INCREMENT – автоматическое добавление 1 к цифре значащейся в поле id
Скрины таблиц
1. Qweqwe
2.Gbook
Создание страниц сайта и самих форм регистрации, авторизации
Главной страницей сайта является форма авторизации со ссылкой на страницу регистрации
Путь до него G:\web\home\register\WWW\index.php
1. Index.Php
<?
// проверка cookies на наличие в них логина и пароля
$_POST['nick'] = mysql_escape_string($_COOKIE['nick']);
// записывание данных из куков в переменную
$_POST['password'] = mysql_escape_string($_COOKIE['password']); //записывание данных из куков в переменную
mysql_connect('localhost', 'root', '') or die("Ошибка при подключении к базе данных"); // подключение БД
mysql_select_db('base') or die("Ошибка, база данных не найдена"); //Выбор БД
//поиск логина и пароля в таблице qweqwe, значения которых были взяты из cookies
$result=array(); // создание массива для дальнейшей сверки значений
$request = mysql_query("SELECT * FROM `qweqwe` where `nick`='{$_POST['nick']}' AND `password`='{$_POST['password']}'"); // выборка значений полей имени и пароля из БД
while($content = mysql_fetch_assoc($request))
{
$result=$content;
}
// сверка данных, взятых с cookies с данными, хранящимися в БД, если логин и пароль хранящиеся в cookies совпадут с логином и паролем, хранящимися в БД пользователь перенаправляется на страницу гостевой книги
if(!empty($result))
{
header("Location: gost.php");
}
?>
<head>
<title>Главная страница</title>
</head>
<center> <h1>Авторизация</h1></center>
<form action="auth.php" method="POST"> <!--вызов процедуры авторизации -->
<p align="center">
<input type="text" name="nick"> Логин пользователя <br><br> <!-- Поле для ввода имени пользователя -->
<input type="password" name="password"> Пароль пользователя <br><br> <!-- поле для ввода пароля -->
<input type="checkbox" name="boxcheck" value="ON"> Запомнить меня <br><br>
<input type="submit" value="Войти"> <!-- Вызов процедуры авторизации(Кнопка входа) -->
</p>
</form>
<form action="reg.php" > <!--вызов процедуры регистрации -->
<p align="center">
<input type="submit" value="Регистрация"> <!-- Кнопка Регистрации -->
</p>
Скрин главной страницы
На странице представлены:
Формы: ввода пароля и логина, ckeckbox для принятия решения о хранении cookies длительное время (до 2020 года) или до конца сессии браузера, формы кнопки: «Войти» и «Регистрация», управляемые соответствующими скриптами
Вывод ошибки при сбоях подключения к БД
Проверка cookies на наличие в них логина и пароля, и если нашли, то перенаправляем пользователя сразу на страницу гостевой книги.