Простой логин и пароль, проверка через mySQL

Лучший способ помочь другим, поделиться своими находками.

Простой логин и пароль, проверка через mySQL

Сообщение eligma 26 дек 2012, 06:20

Это форма входа в игру по логину и паролю (не регистрация) Если у вас уже на сайте в такой то базе данных есть зарегестрированные пользователи. Проверка логина и пароля. Это исходник решил написать потому что нигде в инете не нашел готового работающего исходника. И кто не рубит в mysqlях всяких начинают стрематься.
Берем все скрипты php отсюда http://www.phpeasystep.com/phptu/6.html и делаем базу mySQL как там сказано. (Делаем базу с помощью запросов и вводим в нее данные про johna) В данном случае мои скрипты - они тестились на локалхост - а вам надо будет указать свои имена хостов и пароли.
php.rar

После создания базы и заливки скриптов на сайт мы можем увидеть такую картину(база - test!!!, таблица - members!!!)
http://gleeko-multiplayer.social-networ ... _login.php
Тут мы можем вводить логин и пароль. Естественно подтвердит только одну нашу запись с логином и паролем
john
1234
Ну вот и все теперь только сделаем проверку логина и пароля с юнити. Даю сразу исходник паком и сам скрипт
Синтаксис:
Используется javascript
var pass: String = "Password";
var user : String = "Username";

var url = "http://test/checklogin.php";   //здесь путь на ваш сайт куда положили checklogin.php

function Update () {
}

function OnGUI () {

    user = GUI.TextField (Rect (Screen.width/2-155, Screen.height/2-50, 310, 30), user, 25);
    pass = GUI.PasswordField (Rect (Screen.width/2-155, Screen.height/2, 310, 30), pass, "*" [0], 25);
 
  if (GUI.Button(Rect(Screen.width/2-155, Screen.height/2+50, 100, 30),"Submit")) {
        HandleLogin(user, pass);
    }

   // Debug.Log("Logged In");
}

 
function HandleLogin(username: String, password: String) {

    var form = new WWWForm();
    form.AddField("myusername", username);
    form.AddField("mypassword", password);
    var login = new WWW(url, form);
    yield login;

    // React to login, check for errors, etc.
       
        a = login.text;       //get echo from php
    print(a);

if (a=="Ok")
     Application.LoadLevel(1);
               
}
 

Здесь ничего необычного кроме того что мы получаем echo "Ok" из php, в случае положительной проверки и делаем переход на следующий уровень. Но в скрипт checklogin.php добавляем небольшую правку, смотрите скрипты в архиве или тут
checklogin.php:
Синтаксис:
Используется javascript
<?php

$host="open-server:3306"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
       echo "Ok";
// Register $myusername, $mypassword and redirect to file "login_success.php"
//session_register("myusername");
//session_register("mypassword");
//header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>


login : john I pass: 1234
HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://gleeko-multiplayer.social-networking.me/login/WebPlayer.unity3d&w=600&h=400&t=true&preview=1' height='"+(400+30)+"' width='600' frameborder='0' scrolling='no'></iframe>"); </script>
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
eligma
Старожил
 
Сообщения: 778
Зарегистрирован: 29 фев 2012, 03:35
  • Сайт

Re: Простой логин и пароль, проверка через mySQL

Сообщение toga94 26 дек 2012, 21:00

Хорошие турториал! :-bd
_ttp://d1vmp8zzttzftq.cloudfront.net/wp ... 0x1027.jpg
_ttp://www.azembassy.ma/img/Baku%20views/Baku.jpg
_ttp://www.traveller.az/images/hotel_azerbaijan.jpg
Аватара пользователя
toga94
UNITрон
 
Сообщения: 287
Зарегистрирован: 26 авг 2012, 16:23
Откуда: Baku,Azerbaijan
Skype: Azecombats.com
  • Сайт

Re: Простой логин и пароль, проверка через mySQL

Сообщение CoMMoN 10 сен 2013, 18:28

Спасибо то что нужно и работает 100% (3A4OT)
Аватара пользователя
CoMMoN
UNец
 
Сообщения: 27
Зарегистрирован: 22 авг 2012, 14:53
Откуда: Из России с любовью
  • Сайт
  • ICQ

Re: Простой логин и пароль, проверка через mySQL

Сообщение sim3d.ru 15 сен 2013, 04:08

Привет
в дебаге пишет:
cannot connect
UnityEngine.MonoBehaviour:print(Object)
$:MoveNext() (at Assets/Login.js:35)

Я что-то пропустил?
Аватара пользователя
sim3d.ru
UNец
 
Сообщения: 4
Зарегистрирован: 27 июл 2013, 14:13
Откуда: Москва
Skype: undebtor
  • Сайт

Re: Простой логин и пароль, проверка через mySQL

Сообщение BornFoRdeatH 15 сен 2013, 04:35

пропустил сервер бд его логин и пароль
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Простой логин и пароль, проверка через mySQL

Сообщение sim3d.ru 15 сен 2013, 05:32

BornFoRdeatH писал(а):пропустил сервер бд его логин и пароль

Действительно, забыл в инспекторе исправить путь к моему сайту((, а затем вылезла еще одна ошибка "SecurityException: No valid crossdomain policy available to allow access
UnityEngine." Но эту победил путем установки своего сайта в настройках Edit>Project settings>Editor>Host URL
Классный урок, то что нужно :-bd
Аватара пользователя
sim3d.ru
UNец
 
Сообщения: 4
Зарегистрирован: 27 июл 2013, 14:13
Откуда: Москва
Skype: undebtor
  • Сайт

Re: Простой логин и пароль, проверка через mySQL

Сообщение newArray 15 сен 2013, 07:53

Да на серваках часто нету политики доступа к пхп. Я всегда кидаю еще для реги на хосты файл crossdomen.xml. Даже мало того - бесплатные хосты типа хостингера по моему даже не будут и с кросдоменом работать - только будут работать если веб билд игры загрузить на хост в ту же папку что и пхп скрипт.
Затем еше одна проблема в юнити может быть "ok" != "ok" Вы увидите что юнити принимает эхо - но ни с чем сравить его не сможете. Это потому что разная кодировка - скрипта пхп и вашего скрипта в юнити. Иногда случайно получается нужная кодировка скрипта иногда нет - если за этим не следить.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Простой логин и пароль, проверка через mySQL

Сообщение CoMMoN 17 сен 2013, 17:09

newArray писал(а):Да на серваках часто нету политики доступа к пхп. Я всегда кидаю еще для реги на хосты файл crossdomen.xml. Даже мало того - бесплатные хосты типа хостингера по моему даже не будут и с кросдоменом работать - только будут работать если веб билд игры загрузить на хост в ту же папку что и пхп скрипт.
Затем еше одна проблема в юнити может быть "ok" != "ok" Вы увидите что юнити принимает эхо - но ни с чем сравить его не сможете. Это потому что разная кодировка - скрипта пхп и вашего скрипта в юнити. Иногда случайно получается нужная кодировка скрипта иногда нет - если за этим не следить.

У меня там работает пока что хорошо,
Аватара пользователя
CoMMoN
UNец
 
Сообщения: 27
Зарегистрирован: 22 авг 2012, 14:53
Откуда: Из России с любовью
  • Сайт
  • ICQ

Re: Простой логин и пароль, проверка через mySQL

Сообщение Vyacheslaw 27 сен 2013, 15:08

Уважаю! (3A4OT)
Хороший тутор
Аватара пользователя
Vyacheslaw
UNец
 
Сообщения: 16
Зарегистрирован: 23 дек 2012, 16:53
Skype: nagelvyacheslaw

Re: Простой логин и пароль, проверка через mySQL

Сообщение Hapukapa 05 фев 2014, 23:09

вот тут искать нужно было )))

http://answers.unity3d.com/questions/54 ... field.html

(popcorn)
Аватара пользователя
Hapukapa
UNец
 
Сообщения: 1
Зарегистрирован: 28 янв 2014, 01:20

Re: Простой логин и пароль, проверка через mySQL

Сообщение LiGuB 18 мар 2014, 23:24

newArray писал(а):Затем еше одна проблема в юнити может быть "ok" != "ok" Вы увидите что юнити принимает эхо - но ни с чем сравить его не сможете. Это потому что разная кодировка - скрипта пхп и вашего скрипта в юнити. Иногда случайно получается нужная кодировка скрипта иногда нет - если за этим не следить.


подскажите как это исправить, большую часть дня не мог понять почему "ok" != "ok" ...
LiGuB
UNIт
 
Сообщения: 52
Зарегистрирован: 18 июн 2013, 11:36

Re: Простой логин и пароль, проверка через mySQL

Сообщение newArray 18 мар 2014, 23:32

Нужно перекодировать скрипт php. Самое простое предложение такое. Скачать скрипт который тут дан - очевидно что он в правильной кодировке - удалить все его содержимое и вставить в него свой код. Таким образом ты будешь использовать скрипт с правильным форматом.
Ну а потом разбираться какими средствами можно поменять кодировку скрипта.
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Простой логин и пароль, проверка через mySQL

Сообщение LiGuB 19 мар 2014, 10:55

newArray писал(а):Нужно перекодировать скрипт php. Самое простое предложение такое. Скачать скрипт который тут дан - очевидно что он в правильной кодировке - удалить все его содержимое и вставить в него свой код. Таким образом ты будешь использовать скрипт с правильным форматом.
Ну а потом разбираться какими средствами можно поменять кодировку скрипта.



брал эти скрипты, результат тот же :(
LiGuB
UNIт
 
Сообщения: 52
Зарегистрирован: 18 июн 2013, 11:36

Re: Простой логин и пароль, проверка через mySQL

Сообщение newArray 19 мар 2014, 11:07

А в юнити доходит echo - "ok"? Если нельзя в юнити его даже дебагнуть то это еще может быть
Да на серваках часто нету политики доступа к пхп. Я всегда кидаю еще для реги на хосты файл crossdomen.xml.

Еще варик прими с ехо не слово, а цифру. Затем конвертни цифру в нумерик. И в сравнивай уже нумерик - нумерик то 100 проц сравниться.
Это для джава скрипт - для C# там по другому
Синтаксис:
Используется javascript
import System.IO;
var  str : string;
 var num : int = System.Int32.Parse(str);

Только обязательно первой строчкой в скрипте указать эту библу import System.IO; также и в си надо указать
newArray
Адепт
 
Сообщения: 1226
Зарегистрирован: 14 фев 2013, 07:03
Откуда: оттуда

Re: Простой логин и пароль, проверка через mySQL

Сообщение LiGuB 19 мар 2014, 15:07

увы не сработало

в эхо передаю 1
она ловится юнькой ( дебагом проверяю)

но

Синтаксис:
Используется javascript
   var login = new WWW(url, form);
     yield login;
     Debug.Log(login.text);
 var str : String = login.text;
 var num : int = System.Int32.Parse(str);


и вот последняя строчка ругается
FormatException: Input string was not in the correct format
System.Int32.Parse (System.String s)

как я понмиаю, что str не является стрингом Оо?
LiGuB
UNIт
 
Сообщения: 52
Зарегистрирован: 18 июн 2013, 11:36

След.

Вернуться в Исходники (Копилка)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1