Jump to content
Salvatore

Problema com identificação de senha em PHP Criptografada

Recommended Posts

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

Share this post


Link to post
Share on other sites

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);

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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 PHP

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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 nada

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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 5

Share this post


Link to post
Share on other sites

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 = '".$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

Share this post


Link to post
Share on other sites
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 6

Share this post


Link to post
Share on other sites

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'
);

# VERIFICA O POST
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!";

}

 

Share this post


Link to post
Share on other sites
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'
);

# VERIFICA O POST
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

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
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' ] ) ) {

Share this post


Link to post
Share on other sites
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

image.png.77e2bc4ea5dd4b36a68bdf2c6048547d.png

  

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!";

}

 

Share this post


Link to post
Share on other sites
3 horas atrás, ShadowDLL disse:

 Por algum motivo existia caracteres "invisíveis"
no código '-'

 

SEGUE ANEXO

image.png.77e2bc4ea5dd4b36a68bdf2c6048547d.png

  

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

Share this post


Link to post
Share on other sites

 

 

 

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!";

}

?>

 

 

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lucianfpaula
      Olá amigos, tenho uma duvida talvez simples mas não para mim hehehe. estou desenvolvendo um sistema onde a pessoa faz um cadastro simples mas preciso de uma função que não permita que a pessoa faça mais de um cadastro pelo dispositivo dela, tipo ela faz pelo celular dela com nome, email etc... mas preciso limitar o cadastro não apenas pelo email mas também pelo dispositivo, ou seja preciso de uma forma de identificar o aparelho para que não haja mais cadastro pelo mesmo dispositivo. Não sei se ficou claro minha duvida, alguém pode me ajudar? Muito grato
    • By RodrigoWD3
      Pessoal boa tarde, estou criando uma galeria com categorias no php e mysql, gostaria de saber como faço para colocar um botão -  Exibir Mais Fotos - fazendo exibir o restante dos registros na mesma pagina, teria alguma forma de limitar as fotos sem usar o LIMIT do sql? pode ser usando jQuery algo assim , obrigado
    • By Jack Oliveira
      Ola galera boa noite
      Pessoal preciso enviar um arquivo por e-mail, onde o sistema faz backups do banco de dados manual e automatico
       
      preciso que seja enviado apenas o sql que for gerado tanto manual quanto automatico
      ambos esta fazendo o backups normalmente sem problemas
       
      Segue o código a baixo
       
      <?php session_start(); require_once('../../database/config.php'); require_once('../../database/config.database..php'); require_once('../../includes/funcoes.php'); require_once('controller.php'); if (!is_dir('../../backups')) { @mkdir('../../backups', 0777, true); } $name_backup = "Backups_" . date("ymdHis"); $querySQL = DBCreate('backups', [ 'name' => "Banco_de_dados_" . $name_backup, 'type' => 'sql', 'status' => 'Iniciado' ], true); $queryZIP = DBCreate('backups', [ 'name' => "Arquivos_ZIP_" . $name_backup, 'type' => 'zip', 'status' => 'Iniciado' ], true); try { require_once("Mysqldump.php"); $dump = new Ifsnop\Mysqldump\Mysqldump('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE . '', '' . DB_USERNAME . '', '' . DB_PASSWORD . ''); $dump->start("../../backups/Banco_{$name_backup}.sql"); if (file_exists("../../backups/Banco_{$name_backup}.sql")) { DBUpdate('backups', array('status' => 'concluido'), "id = '{$querySQL}'"); } } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao exportar banco de dados.", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao exportar banco de dados'), "id = '{$querySQL}'"); Redireciona('?erro'); } try { $filename = "Arquivos_ZIP_{$name_backup}.zip"; $rootPath = realpath('../../wa/'); $zip = new ZipArchive(); $zip->open("../../backups/$filename", ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao criar arquivo de backup no formato zip!", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao criar arquivo de backup no formato zip'), "id = '{$queryZIP}'"); } DBUpdate('backups', array('status' => 'concluido'), "id = '{$queryZIP}'"); if (empty($return)) { $return = [ "title" => "Deu Certo!", "msg" => "Backup Realizado com Sucesso!", "icon" => "success" ]; } echo json_encode($return); if (!empty(getConfigBackup('mail_notify'))) { @require_once('../../controller/class.phpmailer/PHPMailerAutoload.php'); $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; $mail->isSMTP(true); $mail->SMTPSecure = getConfigBackup('mail_seguranca'); $mail->Host = getConfigBackup('mail_host'); $mail->Username = getConfigBackup('mail_email'); $mail->Password = getConfigBackup('mail_senha'); $mail->Port = getConfigBackup('mail_porta'); $mail->From = getConfigBackup('mail_email'); $mail->FromName = ConfigPainel('site_nome'); $mail->Subject = "Seu Backup está pronto!"; if (strstr(getConfigBackup('mail_notify'), ';')) { $email = explode(';', getConfigBackup('mail_notify')); foreach ($email as $key => $value) { $mail->AddAddress($value); } } else { $mail->AddAddress(getConfigBackup('mail_notify')); } $dados = "Olá, o Backup do painel " . ConfigPainel('site_nome') . " foi realizado com sucesso. Ele está disponível em seu dashboard na área de backups. Acesse o Painel para Gerenciar seus backups."; $mail->Body = "<div id='m_-7598057918015146334m_-2331253013811829785wrapper' dir='ltr' style='background-color:#f7f7f7;margin:0;padding:70px 0 70px 0;width:100%'> <table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%'> <tbody> <tr> <td align='center' valign='top'> <div id='m_-7598057918015146334m_-2331253013811829785template_header_image'></div> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_container' style='background-color:#ffffff;border:1px solid #dedede;border-radius:3px!important'> <tbody> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_header' style='background-color:#333333;border-radius:3px 3px 0 0!important;color:#ffffff;border-bottom:0;font-weight:bold;line-height:100%;vertical-align:middle;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif'> <tbody> <tr> <td id='m_-7598057918015146334m_-2331253013811829785header_wrapper' style='padding:36px 48px;display:block'> <h1 style='color:#ffffff;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:30px;font-weight:300;line-height:150%;margin:0;text-align:left'>Backup Realizado com sucesso</h1> </td> </tr> </tbody> </table> </td> </tr> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_body'> <tbody> <tr> <td valign='top' id='m_-7598057918015146334m_-2331253013811829785body_content' style='background-color:#ffffff'> <table border='0' cellpadding='20' cellspacing='0' width='100%'> <tbody> <tr> <td valign='top' style='padding:48px'> <div id='m_-7598057918015146334m_-2331253013811829785body_content_inner' style='color:#636363;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left'> <p style='margin:0 0 16px'></p> $dados </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div>"; $mail->IsHTML(true); $mail->Send(); $mail->ClearAllRecipients(); $mail->ClearAttachments(); } Lembrando so ser enviado o que for sql
      Ex: Banco_de_dados_Backups_210412193634.sql
      SQL_Backup_210412180942.sql
       
      Conforme for gerando o backups
      no create tem type sql
       
       
      Não sei isso vai ajudar em algo mais a tabela  backups esta assim
       
      INSERT INTO `backups` (`id`, `name`, `type`, `created_at`, `status`) VALUES (1, 'SQL_Backup_210412180942', 'sql', '2021-04-12 21:09:42', 'concluido'), (2, 'ZIP_Backup_210412180942', 'zip', '2021-04-12 21:09:42', 'Iniciado'), (3, 'Banco_de_dados_Backups_210412193634', 'sql', '2021-04-12 22:36:34', 'concluido'), (4, 'Arquivos_ZIP_Backups_210412193634', 'zip', '2021-04-12 22:36:34', 'Iniciado');  
       
      Se puderem da esta ajuda fico grato
    • By henriquers
      Estou com um problema com o Select2, ele tem um campo de busca mas não esta filtrando corretamente e não estou entendo o motivo, sem utilizar o AJAX colocando os options manualmente ele funciona corretamente, mas trazendo os dados via AJAX ele não funciona o campo de busca.
      Se aguem poder me dar uma luz agradeço a ajuda.
       

       
      Nessa imagem estou tentando filtrar apenas para os itens que tenha LUVA na descrição, mas não funciona, posso colocar qual quer coisa que ele não faz o filtro
       
      Abaixo segue meu codigo
       
      HTML
      <!DOCTYPE HTML PUBLIC> <HTML> <HEAD> <TITLE> Select2 </TITLE> <link href="select2/select2.css" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n/pt-BR.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" rel="stylesheet"/> <script> $(document).ready(function(){ $("#selUser").select2({ language: "pt-br", ajax: { url: "get_dados.php", type: "GET", dataType: 'json', delay: 200, data: function (params) { return { q: params.term, // search term page: params.page }; }, processResults: function (response) { return { results: response }; }, cache: true }, width: "20%", closeOnSelect: true, }); }); </script> </head> <body> <select id='selUser' style='width: 200px;'> <option value='0'>- Search user -</option> </select> </body> </html> get_dados.php
      <?php include './conn_orcl.php'; $select="SELECT PRO_CODPRO PRODUTO,TRIM(PRO_DESCRI) DESCRICAO FROM F_PRODS WHERE PRO_LOCEST='ALMOX' AND PRO_STATUS = 'AT' ORDER BY DESCRICAO"; $parse=oci_parse($conn,$select); oci_execute($parse); $data = array(); while($row=oci_fetch_array($parse)){ $data[] = array("id"=>$row['PRODUTO'], "text"=>$row['PRODUTO']." - ".$row['DESCRICAO']); }; echo json_encode($data); ob_end_flush(); oci_free_statement($parse); oci_close($conn); ?>  
    • By Jack Oliveira
      Boa noite pessoal
       
       
      Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link"   ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok...
       
      Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa"  Não sei se isso interfere ao fazer a verificação
       
      HTML
             <div class="col-md-6">         <div class="form-group">          <label for="nome_empresa">Nome</label>          <input type="text" autocomplete="off" id="nome_empresa" maxlength="100"  name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja">        </div>      </div>      <div class="col-md-6">       <div class="form-group">        <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em>        <input type="text" autocomplete="off"  id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline.">        <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span>      </div>    </div> No PHP fazer verificação fiz isso...
      <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.