游戏注册登录

client:

using UnityEngine;
using System.Collections;
using LitJson;

public class CreateSign : MonoBehaviour
{
    public static CreateSign instance;
    public static string _Username;
    public static string _Password;
    public GameObject LoginPanel;
    public GameObject reg;
    public GameObject login;
    public UIInput Username;
    public UIInput Password;
    public UIInput Reusername;
    public UIInput Repassword;
    public UIInput Rerpassword;
    public string CreateURL;
    public string ValidataLoginURL;
    // Use this for initialization
    void Start()
    {
        instance = this;
        Username.value = PlayerPrefs.GetString( "name", "" );
        Password.value = PlayerPrefs.GetString( "password", "" );
    }

    // Update is called once per frame
    void Update()
    {

    }
    //登录与注册面板切换
    public void OnToggleLogReg()
    {
        if( UIToggle.current.value )
        {
            if( UIToggle.current.name == "tog_login" )
            {
                reg.SetActive( false );
                login.SetActive( true );
            }
            else if( UIToggle.current.name == "tog_reg" )
            {
                reg.SetActive( true );
                login.SetActive( false );
            }
        }
    }
    //创建账号
    public void OnClickReg()
    {
        if( string.IsNullOrEmpty( Reusername.value ) || string.IsNullOrEmpty( Repassword.value ) || string.IsNullOrEmpty( Rerpassword.value ) )
        {
            Global.Alert( "请您输入注册信息!" );
            return;
        }
        if( Repassword.value != Rerpassword.value )
        {
            Global.Alert( "输入密码不一致!" );
            return;
        }
        if( Repassword.value.Length < 5 || Reusername.value.Length<5 )
        {
            Global.Alert( "密码或账号最短为5位" );
            return;
        }
        StartCoroutine( DoReg() );
    }

    private IEnumerator DoReg()
    {
        var formdata = new WWWForm();
        formdata.AddField( "type", "register" );
        formdata.AddField( "reusername", Reusername.value );
        formdata.AddField( "repassword", Repassword.value );
        var www = new WWW( CreateURL, formdata );

        while( !www.isDone )
        {
            yield return null;
        }

        if( www.error == null )
        {
            JsonData jsondata = JsonMapper.ToObject( www.text );
            if( jsondata != null && jsondata["r"].ToString() == "success" )
            {
                Username.value = Reusername.value;
                Password.value = Repassword.value;
                yield return new WaitForSeconds( 3 );
                yield return StartCoroutine( ValidataLogin() );

            }
            else
            {
                Global.Alert( "账号重复!" );
            }
        }
        else
        {
            Global.Alert( "当前网络不可用,请检查网络!" );
        }
    }
    //已经账号进行登录
    public void DoLogin()
    {
        if( !string.IsNullOrEmpty( Username.value ) && !string.IsNullOrEmpty( Password.value ) )
        {
            StartCoroutine( ValidataLogin() );
        }
        else
        {
            Global.Alert( "请输入账号和密码!" );
        }
    }
    //账号验证
    public IEnumerator ValidataLogin()
    {
        if( login != null )
        {
            _Username = Username.value;
            _Password = Password.value;
        }
        var formdata = new WWWForm();
        formdata.AddField( "type", "login" );
        formdata.AddField( "username", _Username );
        formdata.AddField( "password", _Password );
        var www = new WWW( ValidataLoginURL, formdata );

        while( !www.isDone )
        {
            yield return null;
        }

        if( www.error == null )
        {
            #region
            JsonData jsonvalidata = JsonMapper.ToObject( www.text );
            if( jsonvalidata != null )
            {
                if( jsonvalidata["r"] != null )
                {

                    if( jsonvalidata["r"].ToString() == "success" )
                    {
                        if( login != null )
                        {
                            Global.Alert( "验证成功!" );
                        }
                        LoginPanel.SetActive( false );
                        PlayerPrefs.SetString( "name", _Username );
                        PlayerPrefs.SetString( "password", _Password );
                        UIMsgReceive.instance.QuickSDKButton();
                    }
                    else if( jsonvalidata["r"].ToString() == "usererror" )
                    {
                        if( login != null )
                        {
                            Global.Alert( "账号或密码错误!" );
                        }
                    }
                    //else if( jsonvalidata["r"].ToString() == "servererror" )
                    //{
                    //    if( login != null )
                    //    {
                    //        Global.Alert( "服务器还未开启,请稍等再来!" );
                    //    }
                    //}
                    else
                    {
                        if( login != null )
                        {
                            Global.Alert( "请求超时!" );
                        }
                    }

                }

            }
            else
            {
                if( login != null )
                {
                    Global.Alert( "账号或密码错误!" );
                }

            }
            #endregion
        }
        else
        {
            Global.Alert( "当前网络不可用,请检查网络!" );
        }
    }
}

server:

config.php

<?php
$dbuser="root";
$dbhost="localhost";
$dbpass="y0tk75W^DN4N";
$dbname="website";
$dbserverlist="serverlist";

?>


<?php
/**
 * api.php文件
 *
 * 账号登录注册页面
 *
 * @copyright   Copyright (c) 2010-2011 coovan
 * @author      sq
 * @version     ver 1.0
*/
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
define('LOGFILE', 'logs/api.log');
include "config.php";
// if (!defined('CV_ROOT')) {
//     exit('No direct script access allowed');
// }

function err_exit_json($errmsg) {
    error_log("[".date('Y-m-d H:i:s')."] $errmsg", 3, LOGFILE);
    exit;
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
    $r = array('r'=>'fail');
    $type = $_POST['type'];
    if (!$type) {
        echo json_encode($r);
        err_exit_json("type不能为空\r\n");   
    }
    if($type=="login"){
        $username = $_POST['username'];
        $pwd = $_POST['password'];

        $r['r'] = 'usererror';

        if(!$username){         
            echo json_encode($r);
            err_exit_json("用户名不能为空\r\n");   
        }
        elseif(!$pwd){
            echo json_encode($r);
            err_exit_json("密码不能为空\r\n");
        }
        $md5pwd = md5($pwd);
        $db = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
        if(mysqli_connect_error()){
            echo json_encode($r);
            err_exit_json("login mysqli_connect_error\r\n".mysqli_connect_error());
        }
        //设置编码
        $db->set_charset("utf8");
        $query = $db->query("select tokenpwd from user where loginname='".$username."'");
        $tokenpwd = $query->fetch_array()['tokenpwd'];
        if($md5pwd != $tokenpwd){
            echo json_encode($r);
            err_exit_json("用户名密码不匹配\r\n");
        }
        //关闭连接
        $db->close();
        $r['r'] = 'success';
        exit(json_encode($r));
        
    }
    if($type=="register"){
        $reusername = $_POST['reusername'];
        $repwd = $_POST['repassword'];
        $r['r'] = 'usererror';
        if(!$reusername){           
            echo json_encode($r);
            err_exit_json("用户名不能为空\r\n");   
        }
        elseif(!$repwd){
            echo json_encode($r);
            err_exit_json("密码不能为空\r\n");
        }
        $md5pwd = md5($repwd);
        $r['r'] = 'userexist';
        $db = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
        if(mysqli_connect_error()){
            echo json_encode($r);
            err_exit_json("register mysqli_connect_error\r\n".mysqli_connect_error());
        }
        //设置编码
        $db->set_charset("utf8");
        $query = $db->query("select loginname from user where loginname='".$reusername."'");
        if($query->num_rows>0){
            echo json_encode($r);
            err_exit_json("用户名已存在\r\n");
        }
        
        $query = $db->query("INSERT INTO `user`(loginname,tokenpwd,regtm,pwd) VALUES ('" .$reusername . "','" . $md5pwd . "','" . date('Y-m-d H:i:s') . "','".$repwd."')");
        if(!$query){
            err_exit_json('$query -> mysql_result为空');
        }
        //关闭连接
        $db->close();
        $r['r'] = 'success';
        exit(json_encode($r));
    }
}

?>
mysql:

表结构




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值