В этом уроке мы создадим таблицу users в бд, напишем файл enter.php и файл db_connect.php
Итак приступим.
В phpMyAdmin выбираем базу данных, выбираем вкладку SQL
и в поле пишем следующий код:
Code
CREATE TABLE `users` (
`id` BIGINT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ip` INT( 20 ) NOT NULL ,
`user` VARCHAR( 16 ) NOT NULL , #VARCHAR - означает что в данном поле может храниться и число и строка
`pass` VARCHAR( 30 ) NOT NULL ,
`sex` SMALLINT( 1 ) NOT NULL
) ENGINE = MYISAM ;
Далее нам нужно написать код для подключения к базе данных, этот код мы вынесем в отдельный файл - db_connect
Code
<?php
$server="сервер на котором будут храниться файлы";//не обязательно, но может облегчить написание кода
$now = time();
$link=mysql_pconnect("хост","логин","пароль");
mysql_select_db("имя бд",$link) or die ("Ошибка соединения с БД!");
mysql_query("SET NAMES cp1251");
$uri=GetEnv("REQUEST_URI");
$uri=explode("имя бд",$uri);
$ips=GetEnv("REMOTE_ADDR");
$ip=explode(".",$ips);
?>
Создаём папку inc и сохраняем туда этот файл в формате php ессно.
Теперь enter.php
Code
<?php
include ("inc/db_connect.php");//подключаем файл db_connect написанный ранее
$password=md5($_POST['passw']);//создаём переменную password в которой будет храниться захэшированый в md5
//пароль который пользователь ввёл в форму на главной странице. Позже я объясню для чего мы здесь его хэшируем.
$verif=mysql_query("SELECT * FROM users WHERE user='".$_POST['login']."' AND pass='".$password."' LIMIT 1");//создаём
//переменную verif которая будет равна запросу к бд. Сам запрос бд равен ("ВЫБРАТЬ ВСЁ ИЗ users ГДЕ
//user='".ВВЕДЁННОМУ ЛОГИНУ."' И pass='".ПЕРЕМЕННОЙ $password."'");
$ver=mysql_num_rows($verif);//создаём переменную $ver при вызове которой вернётcя количество рядов
//результата запрос
if($ver>0){//если рядов больше чем ноль, то
SetCookie("user",$_POST['login']);//устанавливаем куку user
SetCookie("pass",$password);//устанавливаем куку pass
mysql_query("UPDATE users SET online='1', onl_time='".time()."' WHERE user='".$_POST['login']."' AND pass='".$password."'");//отправляем запрос
//к базе данных на обновление таблицы users приблизительно так: ("ОБНОВИТЬ users УСТАНОВИТЬ online='1' ГДЕ user=...
//..."); Кстати, чуть не забыл, мы поле online не сделали в базе данных, исправим это чуть ниже)
echo "<script>window.location.href='game.php';</script>";//перенаправляем на файл game.php его мы напишем позже
}elseif($ver<1){//если рядов меньше чем 1, то
echo "<script>alert('Такой пользователь отсутствует в базе данных');</script>";//выводим алерт о том что такого
//пользователя не существует
echo "<script>window.location.href='index.php';</script>";//перенаправляем на главную страницу
}
?>
Ну и всё, enter.php готов.
Теперь нам нужно поле online в таблице users
Опять-таки заходим в phpMyAdmin, выбираем вкладку SQL и пишем следующий код:
Code
ALTER TABLE `users` ADD `online` INT( 1 ) NOT NULL DEFAULT '1'
ALTER TABLE `online` ADD `onl_time` INT( 10 ) NOT NULL DEFAULT '0'
Всё. На этом урок заканчивается.