Урок по созданию браузерной игры № 3
|
|
Assasin | Дата: Воскресенье, 28 Февраля 2010, 11:17 | Сообщение # 81 |
web-coder
Сейчас нет на сайте
| Quote (Lucasito) Не забудте потом весь php код прошерстить по поводу безопасности. Код вообще никак не защищен. Обидно будет, если куда-нить выложите сделанное вами и какой-нить зеленый хакер получит доступ к вашей базе данных. Согласен, я когда начинал писать эти уроки только начинал изучать php. Quote (Lucasito) Да и я что-то не могу найти связи между этими таблицами или я не могу понять задумку автора. И не пытайся))) Я сам сейчас не понимаю, можно намного проще все сделать, но тогда я еще повторюсь, только начинал изучать php. Quote (Lucasito) В таблицах inventar,quest,battle не вижу поля, где записывается кому принадлежит данная вещь,квест,битва. Связь только в инвентарь и юзеры.
|
|
| |
Lucasito | Дата: Воскресенье, 28 Февраля 2010, 11:50 | Сообщение # 82 |
участник
Сейчас нет на сайте
| Quote (Assasin) Quote (Lucasito)В таблицах inventar,quest,battle не вижу поля, где записывается кому принадлежит данная вещь,квест,битва. Связь только в инвентарь и юзеры. т.е. поле id_inv в таблице inventar совпадает с полем id_user в таблице users? Если нет, то я в упор не вижу связи, если да, то опять выходит связь 1<->1 и лишнее разделение на таблице, плюс к этому инвентарь не будет состоять из отдельных предметов, что тоже не хорошо.
Скриншоты. Приглашаем бета-тестеров! Помог? Ставь "+" мне в репу :)
|
|
| |
Assasin | Дата: Воскресенье, 28 Февраля 2010, 12:09 | Сообщение # 83 |
web-coder
Сейчас нет на сайте
| Таблица items связана с таблицей users через id Более подробно здесь
|
|
| |
xD | Дата: Среда, 03 Марта 2010, 18:13 | Сообщение # 84 |
был не раз
Сейчас нет на сайте
| у меня тут что-то флеш в браузере не работает даже reg.php не загружается. не подскажите что делать?
Сообщение отредактировал xD - Среда, 03 Марта 2010, 20:14 |
|
| |
Krokodil | Дата: Четверг, 04 Марта 2010, 15:09 | Сообщение # 85 |
был не раз
Сейчас нет на сайте
| А можно без флэш плеера это сделать, чтоб было просто текстовая игра с простым аватарам? Не если не сложно написать этот процесс... Но я понимаю что это не легко
|
|
| |
Assasin | Дата: Четверг, 04 Марта 2010, 19:35 | Сообщение # 86 |
web-coder
Сейчас нет на сайте
| Krokodil, возьми готовые исходники и правь под себя и будет текстовая игра
|
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 03:43 | Сообщение # 87 |
частый гость
Сейчас нет на сайте
| доброго времени суток! Флэш Дэвэлоп установил как указал Ассасин и все заработало с 13 раза наверное пока не прочитал все посты в топике по его установке) перепробывал кучу просто вариантов. Ассасин тебе огромный респект, ты просто уникален=) все коды писал от руки и все работает,но сталкнулся с одной проблемкой, которую немогу поправить а заключается она в том, что когда я написал и сохранил файл goreg.php у меня поменялось в index.php и в reg.php вся русская символика на непонятные иероглифы как на картинке что не так, что и где мне исправить в кодах стои везде lang="ru", подскажите плиззззз.
Сообщение отредактировал fantomic - Воскресенье, 07 Марта 2010, 03:49 |
|
| |
hase | Дата: Воскресенье, 07 Марта 2010, 05:43 | Сообщение # 88 |
был не раз
Сейчас нет на сайте
| Quote (fantomic) меня поменялось в index.php и в reg.php вся русская символика на непонятные иероглифы как на картинке Возможно ты сохранил эти страницы не в той кодировке. Открой и пересохрани в другой кодировке. (ANSI, Кириллица(Windows)) Но учитывая что автор говорил сохранять в UTF-8 попробуй просто пересохранить
Место прибывания странствующего разработчика http://hase.su
Сообщение отредактировал hase - Воскресенье, 07 Марта 2010, 05:53 |
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 13:13 | Сообщение # 89 |
частый гость
Сейчас нет на сайте
| кодировку в goreg.php с анси поставил на UTF-8 остальных файлах она стояла, ничео не помогло(
Сообщение отредактировал fantomic - Воскресенье, 07 Марта 2010, 13:18 |
|
| |
Assasin | Дата: Воскресенье, 07 Марта 2010, 13:18 | Сообщение # 90 |
web-coder
Сейчас нет на сайте
| В файлах должна быть эта строка Code <meta http-equiv="content-type" content="text/html; charset=utf-8" /> И сами файлы нужно сохранять в формате UTF-8
|
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 13:24 | Сообщение # 91 |
частый гость
Сейчас нет на сайте
| дык во всех пхп у меня так и стоит из за чего еще может быть?
|
|
| |
Assasin | Дата: Воскресенье, 07 Марта 2010, 13:26 | Сообщение # 92 |
web-coder
Сейчас нет на сайте
| Кинь в личку файлы goreg.php, index.php, reg.php
|
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 13:45 | Сообщение # 93 |
частый гость
Сейчас нет на сайте
| goreg.php <?php session_start(); include "conf.php"; $data = mysql_connect($base_name, $base_user, $base_pass); if(!mysql_select_db($db_name,$data)){ print "<BR>"; echo mysql_error(); die(); } $ip = $_SERVER['REMOTE_ADDR']; if ($ip==$_SESSION['ip']) { ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="description" content="Браузерная Флеш игра BTG" /> <meta name="keywords" content="игра, флеш, браузер, BTG, игроки." /> <link rel="stylesheet" href="style.css" type="text/css" /> <title>Angels and Demons</title> </head> <body> <div id="goreg"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="300" id="reg" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="false" /> <param name="movie" value="CreateChar.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#000000" /> <embed src="CreateChar.swf" quality="high" bgcolor="#000000" width="400" height="300" name="reg" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" /> </object> </div> </body> </html> <?php }else{ echo "<script>location.href='index.php';</script>"; } ?> ?> ------------- index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="description" content="Браузерная Флеш игра BTG" /> <meta name="keywords" content="игра, флеш, браузер, BTG, игроки." /> <link rel="stylesheet" href="style.css" type="text/css" /> <title>BTG – браузерная онлайн Flash игра</title> </head> <body> <div id='entry'> <form action='login.php' method='post'> <input class="inup" type="text" onblur="if (value == '') {value='E-mail'}" onfocus="if (value == 'E-mail') {value =''}" value="E-mail" name="email"><br> <input class="inup" type="password" onblur="if (value == '') {value='Пароль'}" onfocus="if (value == 'Пароль') {value =''}" value="Пароль" name="pass"><br> <input type="submit" class='btn' value="Войти"><br> <input type=button class='btn' value=' Регистрация ' onclick='window.location="reg.php"'> </form> </div> </body> </html> -------------------------- reg.php <?php session_start(); include "conf.php"; $data = mysql_connect($base_name, $base_user, $base_pass); if(!mysql_select_db($db_name,$data)){ echo "<BR>"; echo mysql_error(); die(); } if ($_POST['next']){ $error=0; if (!$_POST['email']){ $errm = "Вы не ввели e-mail<br>"; $error=1;} if(!preg_match("/^[_\.0-9a-z-]{1,}@[_\.0-9a-z-]{1,}\.[_\.0-9a-z-]{2,}$/", $_POST ["email"])) {$errm .= "Неправильный e-mail"; $error =1;} $c_e = mysql_num_rows(mysql_query("SELECT id_user FROM users where email='".$_POST ["email"]."'")); {if ($c_e>0) {$errm .= "Данный e-mail уже зарегистрирован в игре"; $error=1;}} if(!$_POST ["pass"]) {$errp = "Необходимо указать Ваш пароль<br>"; $error =1;} if(!preg_match("/^[А-Яа-яЁёa-zA-Z0-9]+$/",$_POST ["pass"])) {$errp .= "Пароль содержит запрещенный символ<br>"; $error =1;} if (strlen ($_POST ["pass"])<6 || strlen ($_POST ["pass"])>25){ $errp .="Длина пароля от 6 до 25 символов<br>"; $error =1;} if ($_POST ["pass"]!= $_POST ["pass2"]){ $errp .="Введёные вами пароли не совпадают!"; $error =1;} if (!$_POST['rules']) {$errr = "Вы не согласны с правилами?<br>"; $error=1;} if(!$error) { $ip = $_SERVER['REMOTE_ADDR']; mysql_query ("INSERT INTO users (pass, ip, email) values('".md5($_POST ["pass"])."','".$ip."','".addslashes($_POST ["email"])."')") or die ("Invalid query: " . mysql_error()); session_register("email"); session_register("ip"); $_SESSION['user'] = $_POST['email']; $_SESSION['ip'] = $_POST['ip']; ?> <script>location.href="goreg.php";</script> <?php } } function err($text){ return "<tr valign='middle' align='left'><td colspan='2'><span class='error'>$text</td></tr>"; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="description" content="Браузерная Флеш игра BTG" /> <meta name="keywords" content="игра, флеш, браузер, BTG, игроки." /> <link rel="stylesheet" href="style.css" type="text/css" /> <title>BTG – браузерная онлайн Flash игра</title> </head> <body> <div id="reg"> <form action="" method="post"> <table align="center"> <tr><td align="left" width="200">E-mail:</td><td><input type="text" value="<?php echo $_POST['email'] ?>" name="email" class="inup"></td></tr> <?php echo err($errm); ?> <tr><td align="left" width="200">Пароль:</td><td><input type="password" value="" name="pass" class="inup"></td></tr> <?php echo err($errp); ?> <tr><td align="left" width="200">Повторите пароль:</td><td><input type="password" value="" name="pass2" class="inup"></td></tr> </table> <span><input type="checkbox" class="inup" name="rules"></span> Я обязуюсь соблюдать <A href="lib/law.php" target=_blank><B>Законы игры Test Game</B></A></p> <?php echo err($errr); ?> <input type="submit" name="next" value="Дальше" class="btn"> </form> </div> </body> </html> ------------------------- в общем вот они
Сообщение отредактировал fantomic - Воскресенье, 07 Марта 2010, 14:43 |
|
| |
Assasin | Дата: Воскресенье, 07 Марта 2010, 15:04 | Сообщение # 94 |
web-coder
Сейчас нет на сайте
| Все вроде правильно, вот попробуй мои файлы линк
|
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 15:44 | Сообщение # 95 |
частый гость
Сейчас нет на сайте
| c твоими при нажатии на кнопку регистрации выдает такую ошибку Warning: include(conf.php) [function.include]: failed to open stream: No such file or directory in C:\xamm\xampp\htdocs\reg.php on line 4 Warning: include() [function.include]: Failed opening 'conf.php' for inclusion (include_path='.;C:\xamm\xampp\php\PEAR') in C:\xamm\xampp\htdocs\reg.php on line 4 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xamm\xampp\htdocs\reg.php on line 7 Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xamm\xampp\htdocs\reg.php on line 8 Access denied for user 'ODBC'@'localhost' (using password: NO)
|
|
| |
Assasin | Дата: Воскресенье, 07 Марта 2010, 16:04 | Сообщение # 96 |
web-coder
Сейчас нет на сайте
| Посмотри файл conf.php, возможно он не верно настроен.
|
|
| |
fantomic | Дата: Воскресенье, 07 Марта 2010, 23:48 | Сообщение # 97 |
частый гость
Сейчас нет на сайте
| <?php $base_name="localhost"; $base_user="root"; $base_pass=""; $db_name="testgame"; ?> вот он Добавлено (07.03.2010, 23:48) --------------------------------------------- у меня личку нельзя отправить или написать , только получить. Ассасин, не подхоят. я из архива скинул индекс пхп рег пхп. конф пхп и горег пхп при на переходе на страницу реги такая ошибка: Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xamm\xampp\htdocs\reg.php on line 7 Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xamm\xampp\htdocs\reg.php on line 8 Access denied for user 'root'@'localhost' (using password: YES)
|
|
| |
Assasin | Дата: Понедельник, 08 Марта 2010, 14:19 | Сообщение # 98 |
web-coder
Сейчас нет на сайте
| конф.пхп подправь под свою БД)))
|
|
| |
fantomic | Дата: Понедельник, 08 Марта 2010, 23:52 | Сообщение # 99 |
частый гость
Сейчас нет на сайте
| <?php $base_name="localhost"; $base_user="root"; $base_pass=""; $db_name="testgame"; ?> в строке пасс необходимо написать пароль который в привелегиях указан для роот?
|
|
| |
Assasin | Дата: Вторник, 09 Марта 2010, 18:57 | Сообщение # 100 |
web-coder
Сейчас нет на сайте
| Да
|
|
| |