[Off] Sugestхes de FilterScripts, Mapas e Tutoriais
#7

Quote:
Originally Posted by Input
View Post
Sua propria ideia:
Tipo: FilterScript
Nome: Sistema de Login/Registro
Descriзгo: Um login/registro via MySQL, acessando via site, etc.

Seria interessante.
Aceito!

Sistema -> Registro e Login WEB e In-Game
Se o player estiver conectado no "SITE" ele nгo precisa colocar senha in-game
__________________________________________________ _________________

Cуdigo Pawn

pawn Code:
#include A_SAMP
#include A_MySQL


#define loginUser       (0)
#define registerUser    (1)

#define hostName   ""          //  Endereзo
#define userName   ""          //  Usuбrio de Login
#define dataName   ""          //  Data Base
#define passName   ""          //  Senha de Login

new MySQLConnect;
new playerLogado[100];

forward checkRegister(playerid);
forward checkLogin(playerid);


stock getNome(playerid){
    new NOME[21];
    GetPlayerName(playerid, NOME, 21);
    return NOME;
}

public checkRegister(playerid) {
    new Rows, Fields, Celulas[80], value[10];
    cache_get_data (Rows, Fields, MySQLConnect);
    if (Rows) {
        cache_get_field_content(0, "logadoWEB", value);
        playerLogado[playerid] = strval(value);
        if(playerLogado[playerid] == 0) {
            format(Celulas, 80, "Vocк estб registrado %s\n\nDigite sua senha!", getNome (playerid));
            ShowPlayerDialog (playerid, loginUser, DIALOG_STYLE_PASSWORD, "Login Necessбrio", Celulas, "Logar", "Sair");
        } else {
            SendClientMessage(playerid, -1, "Vocк jб estб logado no site, entгo nгo й preciso fazer login aqui!");
            SpawnPlayer(playerid);
        }
    }else {
        format(Celulas, 80, "Vocк nгo estб registrado %s\n\nDigite uma senha!", getNome (playerid));
        ShowPlayerDialog (playerid, registerUser, DIALOG_STYLE_PASSWORD, "Nгo Registrado", Celulas, "Registrar", "Sair");
    }
    return true ;
}

public checkLogin (playerid) {
    new Row, Field, Celulas[80];
    cache_get_data(Row, Field, MySQLConnect);
    if (Row) {
        SendClientMessage (playerid, -1, "LOGADO COM SUCESSO!");
    } else {
        format(Celulas, 80, "Vocк estб registrado %s\n\nDigite sua senha!", getNome (playerid));
        ShowPlayerDialog (playerid, loginUser, DIALOG_STYLE_PASSWORD, "Login Necessбrio", Celulas, "Logar", "Sair");
        SendClientMessage (playerid, -1, "SENHA ERRADA!");
    }
    return true ;
}

public OnGameModeInit() {
    MySQLConnect = mysql_connect (hostName, userName, dataName, passName);
    if(mysql_ping() >= 1) {
        print("# ================================== #");
        print("#           MYSQL: CONECTADO         #");
        print("# ================================== #");
    } else {
        print("# ================================== #");
        print("#             MYSQL: ERROR           #");
        print("# ================================== #");
    }
    return true;
}

public OnPlayerConnect(playerid) {
    new queryMySQL[65];
    format(queryMySQL, 65, "SELECT * FROM usuarios WHERE Usuario='%s' LIMIT 1", getNome (playerid));
    mysql_function_query(MySQLConnect, queryMySQL, true, "checkRegister", "i", playerid);
    return true;
}

public OnDialogResponse (playerid, dialogid, response, listitem, inputtext []) {
    switch(dialogid) {
        case loginUser: {
            if(!response)
                return Kick(playerid);
            new Celulas[90];
            format(Celulas, 90, "SELECT * FROM usuarios WHERE Usuario='%s' AND Senha='%s'", getNome(playerid), inputtext);
            mysql_function_query(MySQLConnect, Celulas, true, "checkLogin", "i", playerid);
        }
        case registerUser: {
            if (!response)
                return Kick (playerid);
            new Celulas[90];
            format(Celulas, 90, "INSERT INTO usuarios (Nick, Senha) VALUES ('%s', '%s')", getNome(playerid), inputtext);
            mysql_function_query(MySQLConnect, Celulas, false, #, #);
        }
    }
    return true;
}
Cуdigo PHP / login.php

PHP Code:
<?php
    $mysqli 
= new mysqli("localhost""root""""dataabase");
    if (
$mysqli->connect_error) {
        
printf("Erro na conexгo com o Banco de Dados: %s\n"$mysqli->connect_error);
        exit();
    }
?>
<!DOCTYPE html>
<html lang="pt-BR">
    <head>
        <meta charset="UTF-8">
        <title> SA-MP </title>
        <style type="text/css">
            #Container {
                width: 1000px;
                height: auto;
                margin: 0 auto;
                font-size: 15px;
                font-family: Arial;
            }
            #Container #Login  {
                position: relative;
                left: 400px;
                top: 100px;
            }
            #Container #Login form input[type="text"], input[type="password"] {
                width: 200px;
                height: 30px;
                padding-left: 10px;
            }
            #Container #Login form input[type="submit"] {
                width: 100px;
                height: 30px;
                background: #F5F5F5;
                border: 1px solid #000;
                margin-left: 50px;
            }
            #Container #Login form a {
                text-decoration: none;
                color: #000;
                margin-left: 55px;
            }
            #Container #Login form a:hover {
                text-decoration: underline;
            }
        </style>
    </head>
    <body>
        <div id="Container">
            <div id="Login">
                <form action="" method="POST">
                    <label> Usuбrio </label> <br />
                        <input name="Usuario" type="text" placeholder="UserName" />  <br /> <br />
                    <label> Senha </label>  <br />
                        <input name="Senha" type="password" placeholder="*****" />  <br /> <br />
                    <input name="Botao" type="submit" value="Logar" /> <br /> <br />
                    <a href="registro.php"> Registrar-se </a>
                </form>
            </div>
        </div>
    </body>
</html>
<?php
    
if(isset($_POST["Botao"])) {
        
$User $_POST["Usuario"];
        
$Pass $_POST["Senha"];
        if(
$User == "" || $Pass == "") {
            echo 
"<script> alert('Preencha todos os campos'); </script>";
        }
        
$query $mysqli->query("SELECT * FROM usuarios WHERE Usuario='$User' AND Senha='$Pass'");
        if(
$query) {
            
$row $query->num_rows;
            if(
$row 0) {
                
$query2 $mysqli->query("UPDATE usuarios SET logadoWEB='1' WHERE Usuario='$User'");
                if(
$query2) {
                    echo 
"<script> alert('Bem vindo ao sistema $User!'); </script>";
                } else {
                    echo 
$mysqli->error;
                }
            } else {
                echo 
"<script> alert('Usuбrio ou Senha Incorretos!');</script>";
            }
        } else {
            echo 
$mysqli->error;
        }
    }
?>
Cуdigo PHP / registro.php

PHP Code:
<?php
    $mysqli 
= new mysqli("localhost""root""""dataabase");
    if (
$mysqli->connect_error) {
        
printf("Erro na conexгo com o Banco de Dados: %s\n"$mysqli->connect_error);
        exit();
    }
?>
<!DOCTYPE html>
<html lang="pt-BR">
    <head>
        <meta charset="UTF-8">
        <title> SA-MP </title>
        <style type="text/css">
            #Container {
                width: 1000px;
                height: auto;
                margin: 0 auto;
                font-size: 15px;
                font-family: Arial;
            }
            #Container #Registro  {
                position: relative;
                left: 400px;
                top: 100px;
            }
            #Container #Registro form input[type="text"], input[type="password"] {
                width: 200px;
                height: 30px;
                padding-left: 10px;
            }
            #Container #Registro form input[type="submit"] {
                width: 100px;
                height: 30px;
                background: #F5F5F5;
                border: 1px solid #000;
                margin-left: 50px;
            }
            #Container #Registro form a {
                text-decoration: none;
                color: #000;
                margin-left: 55px;
            }
            #Container #Registro form a:hover {
                text-decoration: underline;
            }
        </style>
    </head>
    <body>
        <div id="Container">
            <div id="Registro">
                <form action="" method="POST">
                    <label> Usuбrio </label> <br />
                        <input name="Usuario" type="text" placeholder="UserName" />  <br /> <br />
                    <label> Senha </label>  <br />
                        <input name="Senha" type="password" placeholder="*****" />  <br /> <br />
                    <label> Repetir Senha </label>  <br />
                        <input name="Senha2" type="password" placeholder="*****" />  <br /> <br />
                    <input name="Botao" type="submit" value="Registrar" /> <br /> <br />
                    <a href="login.php"> Logar-se </a>
                </form>
            </div>
        </div>
    </body>
</html>
<?php
    
if(isset($_POST["Botao"])) {
        
$User  $_POST["Usuario"];
        
$Pass  $_POST["Senha"];
        
$Pass2 $_POST["Senha2"];
        if(
$User == "" || $Pass == "" || $Pass2 == "") {
            echo 
"<script> alert('Preencha todos os campos'); </script>";
            return 
true;
        }
        if(
$Pass != $Pass2) {
            echo 
"<script> alert('As senhas nгo conferem'); </script>";
            return 
true;
        }
        
$query $mysqli->query("SELECT * FROM usuarios WHERE Usuario='$User'");
        if(
$query) {
            
$row $query->num_rows;
            if(
$row 0) {
                echo 
"<script> alert('Jб existe uma conta com o Usuбrio: $User'); </script>";
            } else {
                
$query2 $mysqli->query("INSERT INTO usuarios (Usuario, Senha) VALUES ('$User', '$Pass')");
                if(
$query2) {
                    echo 
"<script> alert('Conta registrada com sucesso!');</script>";
                } else {
                    echo 
"<script> alert('Erro ao registrar uma nova conta!');</script>";
                }
            }
        } else {
            echo 
$mysqli->error;
        }
    }
?>
Imagens:

Registro: http://imgup.com.br/imgUploads/186737b35.png
Login: http://imgup.com.br/imgUploads/3c1ebc4ea.png


# Nгo testei, porque estou com PC sem GTA, caso tenha erros avise
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)