Пятница, 19 Апреля 2024, 14:55

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 6 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » -=Помогите с созданием Браузерной онлайн игры=-
-=Помогите с созданием Браузерной онлайн игры=-
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>';
       
          
     }
    }
   }
     }
?>
anton-garДата: Воскресенье, 07 Октября 2012, 11:36 | Сообщение # 102
WEBmaster
Сейчас нет на сайте
Приведи код страницы "Дополнительно".

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

Нет, так переделай под себя smile

Добавлено (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)
---------------------------------------------
Есть какие ни будь решения этой проблемы?

anton-garДата: Воскресенье, 07 Октября 2012, 15:53 | Сообщение # 110
WEBmaster
Сейчас нет на сайте
Сначала логин с помощью сессий надо кинуть в плауерр.пхп, а потом - как я сказал.

PONTIAC_GTOДата: Воскресенье, 07 Октября 2012, 21:32 | Сообщение # 111
почетный гость
Сейчас нет на сайте
Дайте пожалуста ссылку по работе с сессиями.
anton-garДата: Понедельник, 08 Октября 2012, 17:42 | Сообщение # 112
WEBmaster
Сейчас нет на сайте
Вот.

PONTIAC_GTOДата: Вторник, 09 Октября 2012, 10:36 | Сообщение # 113
почетный гость
Сейчас нет на сайте
Чёт я всё равно не пойму как это сделать!
MrNeshДата: Вторник, 09 Октября 2012, 10:52 | Сообщение # 114
Воин добра и света
Сейчас нет на сайте
google пишешь...пхп сессии

PONTIAC_GTOДата: Вторник, 09 Октября 2012, 10:57 | Сообщение # 115
почетный гость
Сейчас нет на сайте
jiumx60rus, Нашёл, я ни как не могу понять как мне это сделать для себя!
anton-garДата: Вторник, 09 Октября 2012, 17:15 | Сообщение # 116
WEBmaster
Сейчас нет на сайте
Закидываешь переменную в сессию - на дрогой странице иницилируешь её, вот и всё - что тут сложного?

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 раза про это, но так и не понял!
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » -=Помогите с созданием Браузерной онлайн игры=-
  • Страница 6 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Поиск:

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