Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая по ОргЭВМ.doc
Скачиваний:
14
Добавлен:
17.06.2016
Размер:
2.23 Mб
Скачать

4. Register.Php

<?php

mysql_connect('localhost', 'root', '') or die("Ошибка при подключении к базе данных"); // подключение БД

mysql_select_db('base') or die("Ошибка, база данных не найдена");

if (!empty($_POST['nick'])) //условие на проверку не пустого введенного имени

{ if (!empty($_POST['password'])) //условие на проверку не пустого введенного пароля

{ $_POST['nick'] = mysql_escape_string($_POST['nick']); // записывание данных из формы в переменную

$_POST['password'] = mysql_escape_string($_POST['password']);

//записывание данных из формы в переменную

$result=array(); // создание массива для дальнейшей сверки значений

$request = mysql_query("SELECT * FROM `qweqwe` where `nick`='{$_POST['nick']}'"); // выборка значений полей имени и пароля из БД

$content = mysql_fetch_assoc($request);

$result=$content;

// сверка данных с данными, хранящимися в БД

if(!empty($result))

{

die('Это имя занято');

}

mysql_query("INSERT INTO `qweqwe` (`nick`, `password`, `mail`) VALUES ('{$_POST['nick']}', '{$_POST['password']}', '{$_POST['mail']}')"); //запись данных из форм в БД

setcookie("nick",$_POST['nick']);

setcookie("password",$_POST['password']);

if(!($_POST["boxcheck"])==ON)

{

setcookie("password",$_POST['password'],mktime(0,0,0,6,7,2020));

setcookie("nick",$_POST['nick'],mktime(0,0,0,6,7,2020));

}

header("Location: gost.php"); // пересылка на страницу входа

}

else

{

echo "Введите пароль<br><a href=\"reg.php\">Вернуться назад </a>";

}//

}

else

{

echo "Введите имя<br><a href=\"reg.php\">Вернуться назад </a>";

}//

?>

Это скрипт для выполнения процедуры регистрации и записи объекта сookies

Путь до него G:\web\home\register\WWW\register.php

При выполнении скрипта возможны ошибки, о которых пользователь будет уведомлен соответствующими сообщениями:

  • Пустое поле логина – Ошибка «Введите имя» и ссылка на страницу авторизации

  • Пустое поле пароля – Ошибка «Введите пароль» и ссылка на страницу авторизации

  • Логин уже существующий в БД, т.е. занятое имя – Ошибка «Это Имя уже занято» и ссылка на страницу авторизации

  • Ошибка подключения к БД

Также у пользователя есть выбор: поставить или нет галочку «Запомнить меня». Она дает возможность сохранить объект cookies не как обычно до закрытия сеанса браузера, а до 2020 года

5. Gost.Php

Это страница гостевой книги

Путь до нее G:\web\home\register\WWW\gost.php

  • На странице представлены формы для имени и сообщения, управляемые add.php

  • По мимо самих форм для ввода на стартовой странице происходит проверка cookies на наличие в них логина и пароля, и если не нашли, то перенаправляем пользователя сразу на страницу авторизации.

  • Возможен вывод ошибки при сбоях подключения к БД

  • На странице присутствует форма разлогивания пользователя (очистки объекта cookies), управляемая скриптом otkat.php

  • Также страница вызывает read.php, скрипт, необходимый для отображения на странице записей, хранящихся в БД

  • Также благодаря объекту cookies на странице реализовано приветствие пользователя с выводом его логина.

  • Проблема фокуса страницы на форме ввода сообщения решена путем вывода сообщений из БД ниже формы, таким образом, фокус всегда остается на форме.

Скрин страницы гостевой книги

<?php

$_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: index.php");

}

?>

<html>

<head>

<title>Гостевая</title>

</head>

<body>

<!-- Форма разлогинивания пользователя -->

<form action = "otkat.php" >

<input type="submit" value="Выйти\Разлогин"/>

</form>

<center>

<h1>Гостевая</h1>

<?php

$nick=$_COOKIE['nick'];

echo("Здравствуй, <b>$nick</b>!<br><br>");

?>

<form action="add.php" method="POST"> <!-- подключение процедуры занесения записей в БД -->

<p align="center">

<b>Имя:</b> <input type="text" name="name" > <br/> <!-- поле ввода имени пользователя--> <br>

<b>Текст комментария:</b>

<br>

<textarea name="text" rows=10 cols=50 > </textarea> <br/> <!-- поле ввода сообщения-->

<input type="submit" value="Добавить"> <br/> <!-- кнопка отправки данных-->

</p>

</form>

<?php

include("read.php"); ?> <br/> <!-- подключение процедуры вывода сообщений из БД на страницу-->

</center>

</body>

</html>