Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou fazendo um sistema de login porém ele não consegue identificar a senha criptografada
Como a senha e definida? a senha e definida a partir de um sistema em java(não feito por mim) então não posso editar
Exemplo de senha/Criptografada no bancos de dados
12345m = $MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w==
no sistema em java ela e reconhecida como 12345m
mas no meu sistema em php n
alguém ajuda eu
Meu codigo
<?php
include("admin/bd/config.php");
if (isset($_POST['Usuario']) && isset($_POST['Senha'])) {
$Usuario = $_POST['Usuario'];
$Senha = md5($_POST['Senha']);
$get = mysqli_query($con,"SELECT * FROM nlogin WHERE Usuario = '$Usuario'") or die(mysqli_error(con));
$num = mysqli_num_rows($get);
if ($num == 1) {
while ($percorrer = mysqli_fetch_assoc($get)) {
if (password_verify ( $_POST['Senha'] , $percorrer['Senha'] )){
$adm = $percorrer['adm'];
$Usuario = $percorrer['Usuario'];
session_start();
if ($adm == 1) {
$_SESSION['adm'] = $Usuario;
header("Location: admin/index.php");
}else{
$_SESSION['nor'] = $username;
header("Location: index.php");
}
}
}
}
}
Ele apenas fica travado na pagina vlogin.php e falando que a conexão com o bancos de dados foi bem sucedida(seta por mim) e não faz nada a mais, nem redireciona>
4 horas atrás, Omar~ disse:
Possivelmente a senha não está batendo!
Ao final do laço de if (password_verify......
Coloque uma condição
} else {
echo "A senha informada não confere";
}
Acredito que o caso seja que a forma que cria a criptografia da senha por JAVA que está o problema.
Porque só não usa o php mesmo?
**password_hash('12345m', PASSWORD_DEFAULT);**
nenhum erro e exibido, não posso usar PHP, pois o local que está rodando o java so aceita java e preciso usar java>
7 horas atrás, Salvatore disse:
Estou fazendo um sistema de login porém ele não consegue identificar a senha criptografada
Como a senha e definida? a senha e definida a partir de um sistema em java(não feito por mim) então não posso editar
Exemplo de senha/Criptografada no bancos de dados
12345m = $MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w==
no sistema em java ela e reconhecida como 12345m
mas no meu sistema em php n
alguém ajuda eu
Meu codigo
<?php
include("admin/bd/config.php");
if (isset($_POST['Usuario']) && isset($_POST['Senha'])) {
$Usuario = $_POST['Usuario'];
$Senha = md5($_POST['Senha']);
$get = mysqli_query($con,"SELECT * FROM nlogin WHERE Usuario = '$Usuario'") or die(mysqli_error(con));
$num = mysqli_num_rows($get);
if ($num == 1) {
while ($percorrer = mysqli_fetch_assoc($get)) {
if (password_verify ( $_POST['Senha'] , $percorrer['Senha'] )){
$adm = $percorrer['adm'];
$Usuario = $percorrer['Usuario'];
session_start();
if ($adm == 1) {
$_SESSION['adm'] = $Usuario;
header("Location: admin/index.php");
}else{
$_SESSION['nor'] = $username;
header("Location: index.php");
}
}
}
}
}
Ele apenas fica travado na pagina vlogin.php e falando que a conexão com o bancos de dados foi bem sucedida(seta por mim) e não faz nada a mais, nem redireciona
Isso aqui não seria PHPSalvatore
O que está errado no seu código é que você recebe sua **SENHA** via **$_POST** e move esse valor recebido criptografando com MD5, mas na hora que você vai comparar, no seu ***IF*** percorre senha você esta usando o **$_POST**.
Ou sejá você lê sua tabela que tem o conteudo ***CRIPTOGRAFADO*** com ***MD5*** mas o seu **BATIMENTO DE CONTEUDO** você não esta usando a variavel criptografada e sim a variavel que você revebe via **$_POST**.
***AQUI:***
if (password_verify ( $_POST['Senha'] , $percorrer['Senha'] )){
***Experimente mudar para:***
if (password_verify ($Senha, $percorrer['Senha'] )){
que é a variável com formato criptografado que você definiu:
$Senha = md5($_POST['Senha']);
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***>
10 horas atrás, Jack Oliveira disse:
Isso aqui não seria PHP
Isso e php, leia novamente, eu disse que o sistema que gera a senha e em java
>
21 minutos atrás, Felipe Guedes Coutinho disse:
Salvatore
O que está errado no seu código é que você recebe sua **SENHA** via **$_POST** e move esse valor recebido criptografando com MD5, mas na hora que você vai comparar, no seu ***IF*** percorre senha você esta usando o **$_POST**.
Ou sejá você lê sua tabela que tem o conteudo ***CRIPTOGRAFADO*** com ***MD5*** mas o seu **BATIMENTO DE CONTEUDO** você não esta usando a variavel criptografada e sim a variavel que você revebe via **$_POST**.
***AQUI:***
if (password_verify ( $_POST['Senha'] , $percorrer['Senha'] )){
***Experimente mudar para:***
if (password_verify ($Senha, $percorrer['Senha'] )){
que é a variável com formato criptografado que você definiu:
$Senha = md5($_POST['Senha']);
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***
A pagina fica igual antes, em branco so aparece a mensagem do banco(config.php) de dados avisando que está conectado no banco, não redireciona e nem nadaSalvatore
Experimente utilizar o código abaixo, caso não funcione MOSTRE um PRINT com a URL (LINK) redirecionado pelo código, pois assim podemos analisar qual é o motivo do erro.
<?php
include("admin/bd/config.php");
if (!empty($_POST['Usuario']) and !empty($_POST['Senha'])) {
$sql = mysql_query("SELECT * FROM nlogin WHERE Usuario = '$_POST['Usuario']' and Senha = 'md5($_POST['Senha']'");
$select = mysql_query($sql);
if ($result = mysql_fetch_assoc($select)) {
session_start();
if ($result['Senha'] == '1') {
$_SESSION['adm'] = $result['Usuario'];
$_SESSION['nor'] = "";
header("Location: admin/index.php?nome=".$_SESSION['adm']);
exit();
} else {
$_SESSION['adm'] = "";
$_SESSION['nor'] = $_POST['Usuario'];
header("Location: index.php?nome=".$_SESSION['nor']);
exit();
}
} else {
session_destroy();
header("Location: index.php?ERRO=Usuario_Nao_Encontrado");
exit();
}
} else {
header("Location: index.php?ERRO=Nome_Senha_Em_Brancos");
exit();
}
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***>
1 minuto atrás, Felipe Guedes Coutinho disse:
Salvatore
Experimente utilizar o código abaixo, caso não funcione MOSTRE um PRINT com a URL (LINK) redirecionado pelo código, pois assim podemos analisar qual é o motivo do erro.
<?php
include("admin/bd/config.php");
if (!empty($_POST['Usuario']) and !empty($_POST['Senha'])) {
$sql = mysql_query("SELECT * FROM nlogin WHERE Usuario = '$_POST['Usuario']' and Senha = 'md5($_POST['Senha']'");
$select = mysql_query($sql);
if ($result = mysql_fetch_assoc($select)) {
session_start();
if ($result['Senha'] == '1') {
$_SESSION['adm'] = $result['Usuario'];
$_SESSION['nor'] = "";
header("Location: admin/index.php?nome=".$_SESSION['adm']);
exit();
} else {
$_SESSION['adm'] = "";
$_SESSION['nor'] = $_POST['Usuario'];
header("Location: index.php?nome=".$_SESSION['nor']);
exit();
}
} else {
session_destroy();
header("Location: index.php?ERRO=Usuario_Nao_Encontrado");
exit();
}
} else {
header("Location: index.php?ERRO=Nome_Senha_Em_Brancos");
exit();
}
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\200cono\vlogin.php on line 5Salvatore
Veja agora se funciona:
<?php
include("admin/bd/config.php");
$usuario = mysql_real_escape_string(trim($_POST['Usuario']));
$senha = mysql_real_escape_string(trim($_POST['Senha']));
if (!empty($_POST['Usuario']) and !empty($_POST['Senha'])) {
$sql = mysql_query("SELECT * FROM nlogin WHERE Usuario = '".$usuario."' and Senha = MD5('".$senha."')";
$select = mysql_query($sql);
if ($result = mysql_fetch_assoc($select)) {
session_start();
if ($result['Senha'] == '1') {
$_SESSION['adm'] = $result['Usuario'];
header("Location: admin/index.php?nome=".$_SESSION['adm']);
exit();
} else {
$_SESSION['nor'] = $_POST['Usuario'];
header("Location: index.php?nome=".$_SESSION['nor']);
exit();
}
}
}
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***>
1 minuto atrás, Felipe Guedes Coutinho disse:
Salvatore
Veja agora se funciona:
<?php
include("admin/bd/config.php");
$usuario = mysql_real_escape_string(trim($_POST['Usuario']));
$senha = mysql_real_escape_string(trim($_POST['Senha']));
if (!empty($_POST['Usuario']) and !empty($_POST['Senha'])) {
$sql = mysql_query("SELECT * FROM nlogin WHERE Usuario = WHERE nm_login = '".$usuario."' and cd_pass = MD5('".$senha."')";
$select = mysql_query($sql);
if ($result = mysql_fetch_assoc($select)) {
session_start();
if ($result['Senha'] == '1') {
$_SESSION['adm'] = $result['Usuario'];
header("Location: admin/index.php?nome=".$_SESSION['adm']);
exit();
} else {
$_SESSION['nor'] = $_POST['Usuario'];
header("Location: index.php?nome=".$_SESSION['nor']);
exit();
}
}
}
Se a minha resposta for útil não esqueça de agradecer e votar positivo.
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***
Parse error: syntax error, unexpected ';', expecting ',' or ')' in C:\xampp\htdocs\200cono\vlogin.php on line 6Você copiou o código errado.
Verifique os campos do seu WHERE, pois estou pegando de um exemplo que uso no meu projeto.
Ajustes os campos de comparação.
Ou atualize a página e pegue denovo pois editei o código.
Vamos acabar com isso por partes!
1º - A função password_hash () suporta BCrypt,
onde, creio que o mesmo NÃO suporte MD5...
2º - Existe um fragmento em sua HASH que
contém a senha criptografada em MD5, segue
abaixo:
HASH ATUAL
$MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w==
FRAGMENTO COM SENHA EM MD5
1a7b45ec4c0661b31f3e0cf2f2738d10
>
15 horas atrás, Omar~ disse:
Acredito que o caso seja que a forma que cria a criptografia da senha por JAVA que está o problema.
3º - Mas como verificar o mesmo? segue
então um exemplo...
CÓDIGO
<?php
$percorrer [ 'Senha' ] =
'$MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w=='
;
$_POST = array (
'Usuario' => 'Admin',
'Senha' => '12345m'
);
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
# CONVERTE A SENHA PARA MD5
$senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
# VERIFICA SENHA COM A HASH
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
# VERIFICA A SENHA INFORMADA COM
# A EXPRESSÂO
if ( $matches [ 2 ] === $senha ) {
echo "Senha Válida!";
} else {
echo "Senha Inválida";
}
}
} else {
echo "Error, Preencha todos os campos!";
}>
4 horas atrás, ShadowDLL disse:
Vamos acabar com isso por partes!
1º - A função password_hash () suporta BCrypt,
onde, creio que o mesmo NÃO suporte MD5...
2º - Existe um fragmento em sua HASH que
contém a senha criptografada em MD5, segue
abaixo:
HASH ATUAL
$MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w==
FRAGMENTO COM SENHA EM MD5
1a7b45ec4c0661b31f3e0cf2f2738d10
3º - Mas como verificar o mesmo? segue
então um exemplo...
CÓDIGO
<?php
$percorrer [ 'Senha' ] =
'$MD5$1a7b45ec4c0661b31f3e0cf2f2738d10@wbfqs/so33fBHLREhffQ7w=='
;
$_POST = array (
'Usuario' => 'Admin',
'Senha' => '12345m'
);
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
# CONVERTE A SENHA PARA MD5
$senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
# VERIFICA SENHA COM A HASH
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
# VERIFICA A SENHA INFORMADA COM
# A EXPRESSÂO
if ( $matches [ 2 ] === $senha ) {
echo "Senha Válida!";
} else {
echo "Senha Inválida";
}
}
} else {
echo "Error, Preencha todos os campos!";
}
Sou bastante iniciante no PHP, queria saber como eu faço pra ele puxa as informação do bancos de dados e usa este codigo>
8 horas atrás, Salvatore disse:
Sou bastante iniciante no PHP, queria saber como eu faço pra ele puxa as informação do bancos de dados e usa este codigo
Segue código abaixo:
<?php
session_start ();
include ( 'admin/bd/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( $_POST [ 'Senha' ] );
$get = mysqli_query ( $con,"SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysqli_error ( con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION['adm'] = $Usuario;
header("Location: admin/index.php");
} else {
$_SESSION['nor'] = $username;
header("Location: index.php");
}
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
Não realizei testes no mesmo, então, sendo assim,
qualquer erro avisar!>
10 horas atrás, ShadowDLL disse:
Segue código abaixo:
<?php
session_start ();
include ( 'admin/bd/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( $_POST [ 'Senha' ] );
$get = mysqli_query ( $con,"SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysqli_error ( con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION['adm'] = $Usuario;
header("Location: admin/index.php");
} else {
$_SESSION['nor'] = $username;
header("Location: index.php");
}
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
Não realizei testes no mesmo, então, sendo assim,
qualquer erro avisar!
**Parse error**: syntax error, unexpected 'if' (T_IF) in **C:\xampp\htdocs\200cono\vlogin.php** on line **6**
>
10 horas atrás, ShadowDLL disse:
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
>
1 hora atrás, Salvatore disse:
Parse error: syntax error, unexpected 'if' (T_IF) in C:\xampp\htdocs\200cono\vlogin.php on line 6
Por algum motivo existia caracteres "invisíveis"
no código '-'
SEGUE ANEXO
NOVO CÓDIGO
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION [ 'adm' ] = $Usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $Usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}>
3 horas atrás, ShadowDLL disse:
Por algum motivo existia caracteres "invisíveis"
no código '-'
SEGUE ANEXO
NOVO CÓDIGO
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION [ 'adm' ] = $Usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $Usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
: Uncaught Error: Call to undefined function mysqli_fetch() in C:\xampp\htdocs\200cono\vlogin.php:17 Stack trace: #0 {main} thrown in **C:\xampp\htdocs\200cono\vlogin.php** on line **17**Olha desta forma aqui eu consegui fazer o login usando este codigo aqui
Apenas mudei este
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
Para este aqui
if ( isset ( $_POST [ 'usuario' ] ) && isset ( $_POST [ 'senha' ] ) ) {
$usuario = $_POST [ 'usuario' ];
$senha = md5 ( trim ( $_POST [ 'senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE usuario = '$usuario' AND senha = '$senha'" ) or die ( mysqli_connect_error ( $con ) );
Este
while ( $percorrer = mysqli_fetch ( $get ) ) {
Por este
while ( $percorrer = mysqli_fetch_array ( $get ) ) {
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'usuario' ] ) && isset ( $_POST [ 'senha' ] ) ) {
$usuario = $_POST [ 'usuario' ];
$senha = md5 ( trim ( $_POST [ 'senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE usuario = '$usuario' AND senha = '$senha'" ) or die ( mysqli_connect_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_array ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$usuario = $percorrer [ 'usuario' ];
if ( $matches [ 2 ] === $senha ) {
$_SESSION [ 'adm' ] = $usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
?>>
Em 10/08/2019 at 01:52, Jack Oliveira disse:
Olha desta forma aqui eu consegui fazer o login usando este codigo aqui
Apenas mudei este
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
Para este aqui
if ( isset ( $_POST [ 'usuario' ] ) && isset ( $_POST [ 'senha' ] ) ) {
$usuario = $_POST [ 'usuario' ];
$senha = md5 ( trim ( $_POST [ 'senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE usuario = '$usuario' AND senha = '$senha'" ) or die ( mysqli_connect_error ( $con ) );
Este
while ( $percorrer = mysqli_fetch ( $get ) ) {
Por este
while ( $percorrer = mysqli_fetch_array ( $get ) ) {
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'usuario' ] ) && isset ( $_POST [ 'senha' ] ) ) {
$usuario = $_POST [ 'usuario' ];
$senha = md5 ( trim ( $_POST [ 'senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE usuario = '$usuario' AND senha = '$senha'" ) or die ( mysqli_connect_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_array ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$usuario = $percorrer [ 'usuario' ];
if ( $matches [ 2 ] === $senha ) {
$_SESSION [ 'adm' ] = $usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
?>
eu erro, pedindo pra preencher a senha, sendo que a mesma está correta>
2 horas atrás, Salvatore disse:
eu erro, pedindo pra preencher a senha, sendo que a mesma está correta
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION [ 'adm' ] = $Usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $Usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}>
21 horas atrás, ShadowDLL disse:
<?php
session_start ();
include ( 'admin/db/config.php' );
if ( isset ( $_POST [ 'Usuario' ] ) && isset ( $_POST [ 'Senha' ] ) ) {
$Usuario = $_POST [ 'Usuario' ];
$Senha = md5 ( trim ( $_POST [ 'Senha' ] ) );
$get = mysqli_query ( $con, "SELECT * FROM nlogin WHERE Usuario = '$Usuario'" ) or die ( mysql_error ( $con ) );
$num = mysqli_num_rows ( $get );
if ( $num !== 0 ) {
while ( $percorrer = mysqli_fetch_assoc ( $get ) ) {
if ( preg_match ( '/(\$[\w]+\$)([\w]+)(\@[\w\/=._]+)/', $percorrer [ 'Senha' ], $matches ) ) {
$adm = $percorrer [ 'adm' ];
$Usuario = $percorrer [ 'Usuario' ];
if ( $matches [ 2 ] === $Senha ) {
$_SESSION [ 'adm' ] = $Usuario;
header ( 'Location: admin/index.php' );
} else {
$_SESSION [ 'nor' ] = $Usuario;
header ( 'Location: index.php' );
}
} else {
echo "Error, Formato de senha incorreta!";
}
}
} else {
echo "Error, Verifique os dados inseridos!";
}
} else {
echo "Error, Preencha todos os campos!";
}
Foi, mas uma coisa que ta acontecendo agr e que ele está levando qualquer pessoa pra pagina do adm, antes eu tentava se $adm = 1 redireciona pro painel, ajuda eu?
Outro error e que quando eu tento exibir o nome do Usuario da Session da um erro
**Notice**: Undefined index: Usuario in **C:\xampp\htdocs\200cono\admin\index.php**Vamos lá!
>
18 horas atrás, Salvatore disse:
Foi, mas uma coisa que ta acontecendo agr e que ele está levando qualquer pessoa pra pagina do adm, antes eu tentava se $adm = 1 redireciona pro painel, ajuda eu?
O mesmo será redirecionado somente se os dados
do mesmo forem correspondenter... Este não seria
o propósito?
Mas suponhamos que você tente* acessar a página
diretamente *e por sua vez consegui-se visualizar
todo o conteúdo... Pensando nisso você deverá
fazer uma verificação, algo assim:
CÓDIGO
<?php
if ( ! isset ( $_SESSION [ 'adm' ] ) ) {
# CASO CONTRARIO, ENVIA PARA O INDEX
# PARA REALIZAR LOGIN
header ( 'Location: index.php' );
}
# ====================
>
18 horas atrás, Salvatore disse:
Outro error e que quando eu tento exibir o nome do Usuario da Session da um erro
Notice: Undefined index: Usuario in C:\xampp\htdocs\200cono\admin\index.php
O nome da sessão não é Usuario, sim adm...
CÓDIGO
<?php
echo $_SESSION [ 'adm' ];
LINKS ÚTEIS
>
9 horas atrás, ShadowDLL disse:
<?php
if ( ! isset ( $_SESSION [ 'adm' ] ) ) {
# CASO CONTRARIO, ENVIA PARA O INDEX
# PARA REALIZAR LOGIN
header ( 'Location: index.php' );
}
como faço pra verificar 2 session?
nor e admSalvatore
Simples, basta você colocar os comandos condicionais de comparação no seu IF.
Exemplo.
IF (Condição 1 AND Condição2) O comando AND precisa que as 2 condições sejam verdadeiras para entrar no IF
IF (Condição 1 OR Condição2) O comando OR precisa que apenas 1 das condições sejam verdadeiras para entrar no IF.
<?php
if ( !isset($_SESSION['adm']) AND !isset($_SESSION['nor'])) {
// SE AS DUAS VARIAVEIS DE SESSÃO ESTIVEREM SEM CONTEUDO
// ENVIA PARA O INDEX PARA REALIZAR LOGIN
header ( 'Location: index.php' );
EXIT(); //Não esquecer do comando EXIT() após o HEADER.
}
?>
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***>
6 horas atrás, Felipe Guedes Coutinho disse:
Salvatore
Simples, basta você colocar os comandos condicionais de comparação no seu IF.
Exemplo.
IF (Condição 1 AND Condição2) O comando AND precisa que as 2 condições sejam verdadeiras para entrar no IF
IF (Condição 1 OR Condição2) O comando OR precisa que apenas 1 das condições sejam verdadeiras para entrar no IF.
<?php
if ( !isset($_SESSION['adm']) AND !isset($_SESSION['nor'])) {
// SE AS DUAS VARIAVEIS DE SESSÃO ESTIVEREM SEM CONTEUDO
// ENVIA PARA O INDEX PARA REALIZAR LOGIN
header ( 'Location: index.php' );
EXIT(); //Não esquecer do comando EXIT() após o HEADER.
}
?>
Espero ter ajudado de alguma forma.
Att***Felipe Guedes Coutinho***
Resolvido
Possivelmente a senha não está batendo!
Ao final do laço de if (password_verify......
Coloque uma condição
} else {