[Ajuda] UCP login como no SAMP
#1

Estou eu estudando CSS,HTML pra criar um site pro meu servidor...
Atй que nгo estб ficando tгo mal, mas estou com dificuldades com PHP para fazer login ao banco de dados...

Olhando alguns cуdigos eu montei essa base
config.php
Код:
$hostname = 'localhost';
$username = 'root';
$database = 'samp';
$password = '';

$mysql = new mysqli($hostname, $username, $password);
$mysql->select_db($database);
login.php
Код:
<?php
require('config.php');
?>
<html>
<head>
<title> SAMP </title>
</head>
<body>
	<h2>Login</h2>

	<div class="container_login">
	<label><b>Username</b></label>
	<input type="text" placeholder="Enter Username" name="usr" required>
	<br>
	<label><b>Password</b></label>
	<input type="password" placeholder="Enter Password" name="psw" required>
	<br>
	<button type="submit">Login</button>
	</div>
</body>
</html>
Como fazer pra quando apertar o botгo de login fazer isso aqui:
Код:
new Senha[64];
SHA256_PassHash(inputtext,HASH_SENHA,Senha,64);
mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM accounts WHERE Senha = '%e' AND Username ='%s'", Senha, GetName(playerid));
mysql_pquery(ConnectMYSQL, query, "OnLogin", "d", playerid);
Код:
forward OnLogin(playerid); public OnLogin(playerid) {
	new rows, fields;
	cache_get_row_count(rows);
	cache_get_field_count(fields);
	if(rows) { OnPlayerLogin(playerid); }
	else { ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect Password!", "Please enter a correct password in order to log-in\nPress log-in to continue", "Log-in", "Quit"); }
	return 1;
}
Todas as bases em portugues que eu procuro tгo OFF, tentei usar uma, mas nгo tava entendendo com ele fez
Alguйm pode ajudar pra deixar de base pros BRs aqui do fуrum?
Reply
#2

Porque nгo faz site pelo wix ou pelo forumeiros й facil e n precisa de html e nem CSS OU CS6 sу se tu quiser usar.
Reply
#3

Quote:
Originally Posted by GuilhermeNunes
Посмотреть сообщение
Porque nгo faz site pelo wix ou pelo forumeiros й facil e n precisa de html e nem CSS OU CS6 sу se tu quiser usar.
Mais com CSS e HTML, PHP, Vocк tem o total controle do site, jб com Wix e o Forumeiros nгo tem como...

@EDIT
ver isso aqui https://sampforum.blast.hk/showthread.php?tid=345123
Reply
#4

primeiramente, para mandar dados para outra pбgina processar vocк precisa usar form

PHP код:
<html>
<
head>
<
titleSAMP </title>
</
head>
<
body>
    <
h2>Login</h2>
        <
form role="form" method="POST" action="actions/verificar.php">
    <
div class="container_login">
    <
label><b>Username</b></label>
    <
input type="text" placeholder="Enter Username" name="usr" required>
    <
br>
    <
label><b>Password</b></label>
    <
input type="password" placeholder="Enter Password" name="psw" required>
    <
br>
    <
button type="submit">Login</button>
    </
div>
        </
form>
</
body>
</
html
e no verificar utiliza

PHP код:
<?php
// Verifica se houve POST e se o usuбrio ou a senha й(sгo) vazio(s)
if (!empty($_POST) AND (empty($_POST['user']) OR empty($_POST['psw']))) {
    
header("Location: ../login.php"); exit;
}
$usuario mysql_real_escape_string($_POST['usr']);
$senha mysql_real_escape_string($_POST['psw']);
// Validaзгo do usuбrio/senha digitados 
$sql "SELECT `id`, `Username`, `Senha` FROM ` TABELA AQUI ` WHERE (`Username` = '"$usuario ."') AND (`Senha` = '"$senha ."') LIMIT 1";
$query mysql_query($sql);
if (
mysql_num_rows($query) != 1) {
    
// Mensagem de erro quando os dados sгo invбlidos e/ou o usuбrio nгo foi encontrado
    
header("Location: ../login.php "); exit;
} else {
    
// Salva os dados encontados na variбvel $resultado
    
$resultado mysql_fetch_assoc($query);
    
// Se a sessгo nгo existir, inicia uma
    
if (!isset($_SESSION)) session_start();
    
// Salva os dados encontrados na sessгo
    
$_SESSION['id'] = $resultado['id'];
    
$_SESSION['Username'] = $resultado['Username'];
    
$_SESSION['Senha'] = $resultado['Senha'];
    
$nome $_SESSION['Username'];
    
// Redireciona o visitante
    
header("Location: ../painel/"); 
}
?>
Reply
#5

O certo nгo seria fazer isso em JS?
Reply
#6

Quote:
Originally Posted by HoodScript
Посмотреть сообщение
primeiramente, para mandar dados para outra pбgina processar vocк precisa usar form

PHP код:
<html>
<
head>
<
titleSAMP </title>
</
head>
<
body>
    <
h2>Login</h2>
        <
form role="form" method="POST" action="actions/verificar.php">
    <
div class="container_login">
    <
label><b>Username</b></label>
    <
input type="text" placeholder="Enter Username" name="usr" required>
    <
br>
    <
label><b>Password</b></label>
    <
input type="password" placeholder="Enter Password" name="psw" required>
    <
br>
    <
button type="submit">Login</button>
    </
div>
        </
form>
</
body>
</
html
e no verificar utiliza

PHP код:
<?php
// Verifica se houve POST e se o usuбrio ou a senha й(sгo) vazio(s)
if (!empty($_POST) AND (empty($_POST['user']) OR empty($_POST['psw']))) {
    
header("Location: ../login.php"); exit;
}
$usuario mysql_real_escape_string($_POST['usr']);
$senha mysql_real_escape_string($_POST['psw']);
// Validaзгo do usuбrio/senha digitados 
$sql "SELECT `id`, `Username`, `Senha` FROM ` TABELA AQUI ` WHERE (`Username` = '"$usuario ."') AND (`Senha` = '"$senha ."') LIMIT 1";
$query mysql_query($sql);
if (
mysql_num_rows($query) != 1) {
    
// Mensagem de erro quando os dados sгo invбlidos e/ou o usuбrio nгo foi encontrado
    
header("Location: ../login.php "); exit;
} else {
    
// Salva os dados encontados na variбvel $resultado
    
$resultado mysql_fetch_assoc($query);
    
// Se a sessгo nгo existir, inicia uma
    
if (!isset($_SESSION)) session_start();
    
// Salva os dados encontrados na sessгo
    
$_SESSION['id'] = $resultado['id'];
    
$_SESSION['Username'] = $resultado['Username'];
    
$_SESSION['Senha'] = $resultado['Senha'];
    
$nome $_SESSION['Username'];
    
// Redireciona o visitante
    
header("Location: ../painel/"); 
}
?>
Obrigado por tentar me ajudar, quando eu conseguir resolver isso vou me empolgar mais ainda pra criar novas funзхes +rep
Eu tentei usar a sua base, mas...

Qualquer coisa que eu digito lб no login fica em:
http://localhost/SAMP/actions/verificar.php

Com uma tela branca...

Eu modifiquei assim:
PHP код:
<center>
    <
h2>Login</h2>
    <
form role="form" method="POST" action="actions/verificar.php"
    <
div class="container_login">
    <
label><b>Username</b></label>
    <
input type="text" placeholder="Enter Username" name="usr" required>
    <
br>
    <
label><b>Password</b></label>
    <
input type="password" placeholder="Enter Password" name="psw" required>
    <
br>
    <
button type="submit">Login</button>
    </
div>
</
center
PHP код:
if (!empty($_POST) AND (empty($_POST['usr']) OR empty($_POST['psw']))) {
    
header("Location: ../account.php"); exit;
}
$usuario mysql_real_escape_string($_POST['usr']);
$senha mysql_real_escape_string($_POST['psw']);
// Validaзгo do usuбrio/senha digitados 
$sql "SELECT `UserID`, `Username`, `Senha` FROM `accounts` WHERE (`Username` = '"$usuario ."') AND (`Senha` = '"$senha ."') LIMIT 1";
$query mysql_query($sql);
if (
mysql_num_rows($query) != 1) {
    
// Mensagem de erro quando os dados sгo invбlidos e/ou o usuбrio nгo foi encontrado
    
header("Location: ../account.php "); exit;
}
else {
    
// Salva os dados encontados na variбvel $resultado
    
$resultado mysql_fetch_assoc($query);
    
// Se a sessгo nгo existir, inicia uma
    
if (!isset($_SESSION)) session_start();
    
// Salva os dados encontrados na sessгo
    
$_SESSION['UserID'] = $resultado['UserID'];
    
$_SESSION['Username'] = $resultado['Username'];
    
$_SESSION['Senha'] = $resultado['Senha'];
    
$nome $_SESSION['Username'];
    
// Redireciona o visitante
    
header("Location: ../painel/"); 
}
?> 
Reply
#7

Ninguйm sabe como arrumar ou tem uma base pra eu comeзar a estudar e praticar em cima?
Reply
#8

Quote:
Originally Posted by idegod
Посмотреть сообщение
Ninguйm sabe como arrumar ou tem uma base pra eu comeзar a estudar e praticar em cima?
Tente isso (login.php):
PHP код:
<html>  
    <head>  
        <title> SAMP </title>  
    </head> 
     
    <body> 
        <?php 
        session_start
(); 
         
        if(isset(
$_SESSION['Username'])) 
        { 
            echo 
"Vocк jб estб logado como <strong>$_SESSION[Username]</strong>!"
            exit(); 
        } 
        if(isset(
$_POST['usr']) && isset($_POST['psw']) && isset($_POST['botao'])) 
        { 
            
$usuario mysql_real_escape_string($_POST['usr']);  
            
$senha mysql_real_escape_string($_POST['psw']);  
             
            
$query mysql_query("SELECT ID, Nome, Senha FROM contas WHERE (`Username` = '$usuario') AND (`Senha` = '$senha') LIMIT 1");  
             
            if(
mysql_num_rows($query) < 1)  
            {   
                
//usuбrio ou senha invбlidos 
                
$loginFail 1;
            }  
            else 
            { 
                
//login efetuado 
                
$dados mysql_fetch_assoc($query);  
                
$_SESSION['UserID'] = $dados['UserID'];  
                
$_SESSION['Username'] = $dados['Username'];  
                
$_SESSION['Senha'] = $dados['Senha']; 
                
header("location: index.php");   
            }  
        } 
        
?> 
        <center>  
            <h2>Login</h2>
            <?php if(isset($loginFail)) echo "ERRO: Usuбrio ou senha invбlidos!"?>
            <form role="form" method="post" action="">   
                <div class="container_login">
                    <label><b>Username</b></label>  
                    <input type="text" placeholder="Enter Username" name="usr">  
                    <br>  
                    <label><b>Password</b></label>  
                    <input type="password" placeholder="Enter Password" name="psw">  
                    <br>
                    <button type="submit" name="botao">Login</button>  
                </div>
            </form>
        </center> 
    </body>  
</html>
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)