-=Помогите с созданием Браузерной онлайн игры=-
|
|
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 11:33 | Сообщение # 101 |
почетный гость
Сейчас нет на сайте
| Код могу только после 8 скинуть. Добавлено (07.10.2012, 11:33) --------------------------------------------- Всем привет, сообственно появилось не много времени! Я хотел бы рассказать о своей проблеме Вывода данных из таблицы.
Вот моя регистрация:
Регистрирую 1 пользователя:
Смотрим данные:
phpMyAdmin
http://localhost/player.php
Вкладка Дополнительно
И всё работает как надо. Ну так я считал до того как зарегистрировал 2 пользователя:
Смотрим данные:
phpMyAdmin
http://localhost/player.php
Логин изменился и всё вроде нормально. Но как только переходишь во вкладку Дополнительно:
Ни чего не изменилось! Все данные остались от 1 пользователя! Спрашивается в чём проблемма?
Код регистрации:
Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Регистрация</title> <style type="text/css"> INPUT { background: silver; margin:0px; padding:1px; /* Цвет фона */ } </style> </head> <body> <table> <form action="verification.php" method="POST"> <tr> <td>Логин<font color="red">*</font>:</td> <td><input type="text" size="20" name="login" ></td> </tr> <tr> <td>Пароль<font color="red">*</font>:</td> <td><input type="password" size="20" maxlength="20" name="password" ></td> </tr> <tr> <td>Подтверждения пароля<font color="red">*</font>:</td> <td><input type="password" size="20" maxlength="20" name="password2"></td> </tr> <tr> <td>E-mail<font color="red">*</font>:</td> <td><input type="text" size="20" name="email"></td> </tr> <tr> <td>Имя:</td> <td><input type="text" size="20" name="name"></td> </tr> <tr> <td>Фамилия:</td> <td><input type="text" size="20" name="lastname"></td> </tr> <tr> <td></td> <td colspan="2"><input type="submit" value="Зарегистроваться..." name="submit" ></td> </tr> <br> </form> </table> <font face="Verdana" size="4">Поля со значком <font color="red">*</font> должны быть обязательно заполнены!</font> <br><a href='index.php'>На главную</a> </body> </html>
Код обработчика:
Code <?php include_once("bd.php"); if (isset($_POST['submit'])){ if(empty($_POST['login'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите логин!"> Введите логин! </font>'; } elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="В поле "Логин" введены недопустимые символы!"> В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>'; } elseif(empty($_POST['password'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите пароль !"> Введите пароль!</font>'; } elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Пароль слишком короткий!"> Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>'; } elseif(empty($_POST['password2'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите подтверждение пароля!"> Введите подтверждение пароля!</font>'; } elseif($_POST['password'] != $_POST['password2']) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введенные пароли не совпадают!"> Введенные пароли не совпадают!</font>'; } elseif(empty($_POST['email'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите E-mail!">Введите E-mail! </font>'; } elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) { echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="E-mail имеет недопустимий формат!"> E-mail имеет недопустимий формат! Например, name@gmail.com! </font>'; } else{ $login = $_POST['login']; $password = $_POST['password']; $mdPassword = md5($password); $password2 = $_POST['password2']; $email = $_POST['email']; $rdate = date("d-m-Y в H:i"); $name = $_POST['name']; $lastname = $_POST['lastname']; $query = ("SELECT id FROM users WHERE login='$login'"); $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) > 0) { echo '<font color="red"><img border="0" src="error.gif" align="middle" alt="Пользователь с таким логином зарегистрированый!"> Пользователь с таким логином зарегистрирован!</font>'; } else { $query2 = ("SELECT id FROM users WHERE email='$email'"); $sql = mysql_query($query2) or die(mysql_error()); if (mysql_num_rows($sql) > 0){ echo '<font color="red"><img border="0" src="error.gif" alt="Пользователь с таким e-mail зарегистрированый!"> Пользователь с таким e-mail уже зарегистрирован!</font>'; } else{ $query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname ) VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname')"; $result = mysql_query($query) or die(mysql_error());; echo '<font color="green"><img border="0" src="ok.gif" align="middle" alt="Вы успешно зарегистрировались!"> Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>'; } } } } ?>
|
|
| |
|
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 11:39 | Сообщение # 103 |
почетный гость
Сейчас нет на сайте
| Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Дополнительная информация о персонаже</title> </head>
<body> <?php require_once('bd.php'); $result = mysql_query("SELECT * FROM users"); if (!$result) { echo "Не удалось";} $profiles = mysql_fetch_array($result); ?> <p><div align="center"><table width="50%" border="1"> <tr> <td><div align="left">email: <?php echo "<strong>$profiles[3]</strong>"?></div></td> </tr> <tr> <td><div align="left">Дата регистрации: <?php echo "<strong>$profiles[4]</strong>"?></div></td> </tr> <tr> <td><div align="left">Имя: <?php echo "<strong>$profiles[5]</strong>"?></div></td> </tr> <tr> <td><div align="left">Фамилия: <?php echo "<strong>$profiles[6]</strong>"?></div></td> </tr> <tr> <td><div align="left"><a href="player.php">Назад</a></div></td> </tr> </table> </div></p> </body> </html>
|
|
| |
anton-gar | Дата: Воскресенье, 07 Октября 2012, 11:56 | Сообщение # 104 |
WEBmaster
Сейчас нет на сайте
| Quote $result = mysql_query("SELECT * FROM users"); Надо исправить, вставь туда что-то вроде "где ид/имя =...", смотря почему ты определяешь.
|
|
| |
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 12:03 | Сообщение # 105 |
почетный гость
Сейчас нет на сайте
| anton-gar, А как это сделать?
|
|
| |
anton-gar | Дата: Воскресенье, 07 Октября 2012, 12:05 | Сообщение # 106 |
WEBmaster
Сейчас нет на сайте
| Quote $query = ("SELECT * FROM users WHERE login='$login'");
|
|
| |
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 12:20 | Сообщение # 107 |
почетный гость
Сейчас нет на сайте
| Quote Notice: Undefined variable: result in H:\xampp\htdocs\playerr.php on line 11 Не удалось Notice: Undefined variable: result in H:\xampp\htdocs\playerr.php on line 13
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in H:\xampp\htdocs\playerr.php on line 13
|
|
| |
anton-gar | Дата: Воскресенье, 07 Октября 2012, 12:27 | Сообщение # 108 |
WEBmaster
Сейчас нет на сайте
| Quote (anton-gar) $query = ("SELECT * FROM users WHERE login='$login'"); Quote (PONTIAC_GTO) Notice: Undefined variable: result in H:\xampp\htdocs\playerr.php on line 11 Не удалось Notice: Undefined variable: result in H:\xampp\htdocs\playerr.php on line 13
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in H:\xampp\htdocs\playerr.php on line 13 Нет, так переделай под себя Добавлено (07.10.2012, 12:27) --------------------------------------------- Как у тебя выводится инфа в плауер.пхп?
|
|
| |
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 15:12 | Сообщение # 109 |
почетный гость
Сейчас нет на сайте
| Code <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Персонаж</title> </head>
<body> <?php require_once('bd.php'); $result = mysql_query("SELECT * FROM users"); if (!$result) { echo "Не удалось";} $profiles = mysql_fetch_array($result); ?> <p> <div align="center"><table width="50%" border="0" align="center"> <tr> <td><div align="left">Опыт: <?php echo "<strong>$profiles[11]</strong>"?></div></td> </tr> <tr> <td><div align="left">Уровень: <?php echo "<strong>$profiles[10]</strong>"?></div></td> </tr> <tr> <td><div align="left">Имя: <?php echo "<strong>$login</strong>"?> \ <a href="playerr.php">Дополнительно</a> </div></td> </tr> <tr> <td><div align="left"></div></td> </tr> <tr> <td><hr width="80%"> <div align="center">Характеристики:</div> <div align="left">Сила: <?php echo "<strong>$profiles[12]</strong>"?></div></td> </tr> <tr> <td><div align="left">Здоровье: <?php echo "<strong>$profiles[13]</strong>"?></div></td> </tr> <tr> <td><div align="left">Ловкость: <?php echo "<strong>$profiles[14]</strong>"?></div></td> </tr> <tr> <td><div align="left">Защита: <?php echo "<strong>$profiles[15]</strong>"?></div></td> </tr> <tr> <td><hr width="80%"> <div align="center">Деньги:</div> <div align="left">Золото: <?php echo "<strong>$profiles[7]</strong>"?> </div> </td> </tr> <tr> <td><div align="left">Серебро: <?php echo "<strong>$profiles[8]</strong>"?></div></td> </tr> <tr> <td><div align="left">Медь: <?php echo "<strong>$profiles[9]</strong>"?></div></td> </tr> <tr> <td><hr width="80%"> <div align="center">Навигация:</div> <div align="left"><a href="main.php">На главную </a></div></td> </tr> </table> </div> </p> </body> </html>
Исправил, но осталась ещё одна ошибка:
Quote Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in H:\xampp\htdocs\playerr.php on line 13 Добавлено (07.10.2012, 15:12) --------------------------------------------- Есть какие ни будь решения этой проблемы?
|
|
| |
|
PONTIAC_GTO | Дата: Воскресенье, 07 Октября 2012, 21:32 | Сообщение # 111 |
почетный гость
Сейчас нет на сайте
| Дайте пожалуста ссылку по работе с сессиями.
|
|
| |
|
PONTIAC_GTO | Дата: Вторник, 09 Октября 2012, 10:36 | Сообщение # 113 |
почетный гость
Сейчас нет на сайте
| Чёт я всё равно не пойму как это сделать!
|
|
| |
MrNesh | Дата: Вторник, 09 Октября 2012, 10:52 | Сообщение # 114 |
Воин добра и света
Сейчас нет на сайте
| google пишешь...пхп сессии
|
|
| |
PONTIAC_GTO | Дата: Вторник, 09 Октября 2012, 10:57 | Сообщение # 115 |
почетный гость
Сейчас нет на сайте
| jiumx60rus, Нашёл, я ни как не могу понять как мне это сделать для себя!
|
|
| |
|
Blackhat | Дата: Вторник, 09 Октября 2012, 18:01 | Сообщение # 117 |
был не раз
Сейчас нет на сайте
| Тебе нужно сделать примерно так. На странице где пользователь вводит свой логин и пароль, делать запрос к mysql вроде этого (select * from 'users' where login="$login" and password="$password") , если запрос прошел удачно нужно вытащить значение id и занести в переменную сессии, например : // Инициируем сессию session_start(); // Помещаем значение в сессию $_SESSION['id'] = $row[id]; и после если тебе нужно будет вытаскивать данные из таблицы, используй эту переменную mysql_query("SELECT * FROM users WHERE id = '$_SESSION['id']' ")
|
|
| |
PONTIAC_GTO | Дата: Вторник, 09 Октября 2012, 19:40 | Сообщение # 118 |
почетный гость
Сейчас нет на сайте
| Blackhat, Хорошо спасибо, попробую! anton-gar, для меня сложновато, прочитал 4 раза про это, но так и не понял!
|
|
| |