Так же у нас появился новый параметр — ip. Мы его не обозначили в нашей БД. Так что заходим в phpMyAdmin, Переходим по нашей БД testgame, жмем на таблицу users и добавляем ip, по скринам думаю разберетесь: Вот тут не понятно у меня только такая папка есть phpMyAdmin а вот этих testgame, жмем на таблицу users нет как быть подскажите ото я новичек
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; // переменная равна 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 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'];//узнаем ip адрес юзера /* Записываем данные в БД */ mysql_query ("INSERT INTO users (pass, ip, email) values('".md5(HtmlSpecialChars($_POST ["pass"]))."','".$ip."','".htmlspecialchars($_POST ["email"])."')") or die("Invalid query: " . mysql_error()); session_register("email");//регестрируем сессию email session_register("ip");//регестрируем сессию ip $_SESSION['user'] = $_POST['email']; //записуем email в глобыльную переменную $_SESSION $_SESSION['ip'] = $_POST['ip'];//записуем ip в глобыльную переменную $_SESSION ?> <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 и размещяем по-центру --> <table align="center"> <!-- Создаем строку с помощью тега tr и разбиваем ее на 2 ячейки с помощью тега td --> <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> <!-- Создаем checkbox с именем rules --> <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>
Подскажите что не так,всю ночь на регистрацию убил, при смене пароля в мускуле выбивает из него и пишет отказ доступа...
Добавлено (02.11.2013, 10:18) --------------------------------------------- Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\reg.php on line 7
Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\reg.php on line 8
Access denied for user 'root'@'localhost' (using password: YES)
Огромное спасибо автору,потратил некоторое время,но с помощью форума всё таки исправил все ошибки выложенного кода))
CREATE DATABASE testgame DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; /* Создаем БД со стандартной кодировкой cp1251(для того что б поддерживался русский язык)*/ USE testgame; /* используем данную БД */
/* таблица персонажа */ CREATE TABLE `users` ( id_user bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */ email CHAR(64), /* текстовый тип (64 символа) */ pass CHAR(32), /* текстовый тип (32 символа) */ name CHAR(32), /* текстовый тип (32 символа) */ life INT DEFAULT 50, /* числовой тип, по умолчанию равен 50 */ atk INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */ def INT DEFAULT 5, /* числовой тип, по умолчанию равен 5 */ lov INT DEFAULT 7, /* числовой тип, по умолчанию равен 7 */ lvl INT DEFAULT 1, /* числовой тип, по умолчанию равен 1 */ exp INT DEFAULT 0, /* числовой тип, по умолчанию равен 0 */ PRIMARY KEY (`id_user`) /* Показываем что уникальным номером у нас являеться id_user */ ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; /* Обозначаем тип таблицы MyISAM. Таблицы типа MyISAM показывают хорошие результаты при выборках SELECT. Для .jktt подробного изучения читайте Самоучитель по MySQL 5 */
/* таблица аватара */ CREATE TABLE `avatar` ( id_ava bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */ gander SMALLINT(1), /* Пол игрока, цыфровой тип(1 цыфра) */ vid SMALLINT(2), /* Вид игрока, цыфровой тип(2 цыфры)*/ path CHAR(32), /* Путь к папке с рисунками персонажа, текстовый тип(32 символа) */ PRIMARY KEY (`id_ava`) /* Показываем что уникальным номером у нас являеться id_ava */ ) ENGINE=MyISAM;
/* таблица чата */ CREATE TABLE `chat` ( id_msg bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */ msg CHAR(255), /* текстовый тип(255 символов) */ time_msg CHAR(5), /* текстовый тип(5 символов) */ wrt_user CHAR(32), /* текстовый тип(32 символов) */ who CHAR(32), /* текстовый тип(32 символов) */ PRIMARY KEY (`id_msg`) /* Показываем что уникальным номером у нас являеться id_msg */ ) ENGINE=MyISAM;
/* таблица инвентаря */ CREATE TABLE `inventar` ( id_inv bigint(20) unsigned NOT NULL auto_increment, /* уникальный номер, который не повторяеться и с каждым новым пользователем увеличиваеться на 1 */ name_object CHAR(64), atk_up INT(2), def_up INT(2), lov_up INT(2), life_up INT(4), PRIMARY KEY (`id_inv`) /* Показываем что уникальным номером у нас являеться id_msg */ ) ENGINE=MyISAM;
/* Добавляем в таблицу данные о враге */ INSERT INTO enemy (name_enm, atk_enm,life_enm,def_enm,lov_enm,exp_enm,path_enm) VALUES('Призраки','7','40','6','4','10','path/enemy/');