Суббота, 20 Апреля 2024, 00:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 17 из 17
  • «
  • 1
  • 2
  • 15
  • 16
  • 17
Форум игроделов » Записи участника » Lord135 [323]
Результаты поиска
Lord135Дата: Четверг, 29 Марта 2012, 21:13 | Сообщение # 321 | Тема: Пишем свою браузерную игру. Урок 2
постоянный участник
Сейчас нет на сайте
В этом уроке мы создадим таблицу 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'


Всё. На этом урок заканчивается.


Сообщение отредактировал Lord135 - Воскресенье, 01 Апреля 2012, 22:43
Lord135Дата: Четверг, 29 Марта 2012, 18:28 | Сообщение # 322 | Тема: Бойцовский клуб by DeviLlundead *new
постоянный участник
Сейчас нет на сайте
crazy так исправил или нет?))
Lord135Дата: Среда, 28 Марта 2012, 21:40 | Сообщение # 323 | Тема: Пишем свою браузерную игру
постоянный участник
Сейчас нет на сайте
У Ассасина уроки замечательные бесспорно, но всё же я решил создать эту тему.
Уроки я буду писать постепенно, где-то по 2 в неделю или больше, как пойдёт.
Писать игру будем на php+JavaScript+MySQL
Программы которые будут использоваться в данном уроке: WYSIWYG 8, Notepad++, Filezilla
Для начала нам нужно выбрать хостинг
Для начала думаю подойдёт и radyx.ru
____________________________________
Ну собственно сам урок: (html+css) Главная страница, форма входа

Открываем WYSIWYG и располагаем изображение которые будут у вас на главной страницы так, как вам нужно. Далее вставляем два поля и кнопку.
В свойствах первого поля устанавливаем имя "user"
В свойствах второго поля устанавливаем имя "passw"
В свойствах кнопки устанавливаем имя "login_btt" и значение "Войти"
После этих действий выбираем папку в которую будет публиковаться html файлы и изображения. А, чуть не забыл, в свойствах страницы в WYSIWYG'е меняем расширение из html на php и переименовываем её в index

Всё, главная страница готова, точнее она готова внешне.
Теперь открываем файл index.php блокнотом (Notepad++)
Находим примерно такой код:

Code

<input type="submit" id="Button1" name="login_btt" value="Войти" style="position:absolute;left:445px;top:499px;width:96px;height:25px;z-index:6;">
<input type="text" id="Editbox1" style="position:absolute;left:409px;top:444px;width:167px;height:18px;line-height:18px;z-index:8;" name="login" value="Логин">
<input type="password" id="Editbox2" style="position:absolute;left:409px;top:471px;width:167px;height:18px;line-height:18px;z-index:9;" name="passw"  value="Пароль">


Немного его изменяем:
Code

<input type="text" id="Editbox1" style="position:absolute;left:409px;top:444px;width:167px;height:18px;line-height:18px;z-index:8;" name="login" value="Логин">


на

Code

<input type="text" id="Editbox1" style="position:absolute;left:409px;top:444px;width:167px;height:18px;line-height:18px;z-index:8;" name="login" value="Логин" onBlur="if (value == '') {value='Логин'}" onFocus="if (value == 'Логин') {value =''}" maxlength="16">


И

Code
<input type="password" id="Editbox2" style="position:absolute;left:409px;top:471px;width:167px;height:18px;line-height:18px;z-index:9;" name="passw"  value="Пароль">


на

Code
<input type="password" id="Editbox2" style="position:absolute;left:409px;top:471px;width:167px;height:18px;line-height:18px;z-index:9;" name="passw" onBlur="if (value == '') {value='Пароль'}" onFocus="if (value == 'Пароль') {value =''}" value="Пароль" maxlength="16">


в итоге получаем вот такой код:

Code
<input type="submit" id="Button1" name="login_btt" value="Войти" style="position:absolute;left:445px;top:499px;width:96px;height:25px;z-index:6;">
<input type="text" id="Editbox1" style="position:absolute;left:409px;top:444px;width:167px;height:18px;line-height:18px;z-index:8;" name="login" onBlur="if (value == '') {value='Логин'}" onFocus="if (value == 'Логин') {value =''}" value="Логин" maxlength="16">
<input type="password" id="Editbox2" style="position:absolute;left:409px;top:471px;width:167px;height:18px;line-height:18px;z-index:9;" name="passw" onBlur="if (value == '') {value='Пароль'}" onFocus="if (value == 'Пароль') {value =''}" value="Пароль" maxlength="16">

Но это ещё не всё.

Теперь нужно эту кнопку и два поля вписать в форму, вот так:

<form action="enter.php" method="post">
Code
<input type="submit" id="Button1" name="login_btt" value="Войти" style="position:absolute;left:445px;top:499px;width:96px;height:25px;z-index:6;">
<input type="text" id="Editbox1" style="position:absolute;left:409px;top:444px;width:167px;height:18px;line-height:18px;z-index:8;" name="login" onBlur="if (value == '') {value='Логин'}" onFocus="if (value == 'Логин') {value =''}" value="Логин" maxlength="16">
<input type="password" id="Editbox2" style="position:absolute;left:409px;top:471px;width:167px;height:18px;line-height:18px;z-index:9;" name="passw" onBlur="if (value == '') {value='Пароль'}" onFocus="if (value == 'Пароль') {value =''}" value="Пароль" maxlength="16">


</form>

А теперь разберёмся что значит maxlength , onBlur , onFocus , if , <form> и пр.

maxlength - устанавливает максимально допустимое количество символов в текстовом поле (к типу button не применяеться)

onBlur - определяет событие которое происходит если пользователь расфокусирован

onFocus - определяет событие которое происходит если пользователь сфокусирован на текстовом поле

if - если

<form action="enter.php" method="post"></form> - <form action=""> - action="" - указывает куда отправляются данные, в нашем случае это файл enter.php

method="" - указывает тип передачи данных, в нашем случае это post (есть ещё get)

Главная страница готова.

Теперь подключаемся через Filezilla к FTP-аккаунту и закачиваем файл и картинки на сервер.

В следующем уроке будем создавать таблицу users в базе данных и писать файл enter.php


Сообщение отредактировал Lord135 - Среда, 28 Марта 2012, 21:42
Форум игроделов » Записи участника » Lord135 [323]
  • Страница 17 из 17
  • «
  • 1
  • 2
  • 15
  • 16
  • 17
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг