Password_verify – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Password_verify – PHP – Fórum – Programujte.comPassword_verify – PHP – Fórum – Programujte.com

 

Gaja
~ Anonymní uživatel
1 příspěvek
18. 3. 2019   #1
-
0
-

Dobrý den, 

programuji přihlášení a stále se nedaří, kvůli tomu, že se zřejmě neshoduje zadané heslo uživatele s heslem uloženým v databázi. Nevíte, kde by mohl být problém? Děkuji. 

<?php


if(isset($_POST['submit']))
{
	include('connect.php');
	$name = mysqli_real_escape_string( $spojeni,$_POST['name']);	
	$password = mysqli_real_escape_string( $spojeni,$_POST['pwd']);

	if(empty($name) || empty($password))
	{
	header("Location: login.php?login=empty");
	exit();	
	}
	else
	{
		$sql= "SELECT name, pwd FROM users WHERE name = '$name'";
		$result= mysqli_query($spojeni, $sql);
		$resultCheck= mysqli_num_rows($result);
		if($resultCheck>0)
		{			
			if($row=mysqli_fetch_assoc($result))				
			{
				$checkingPwd= password_verify($password, $row['pwd']);				
				if($checkingPwd==true)
				{
					header("Location: login.php?login=success");
					exit();	
				}
				elseif($checkingPwd==false)
				{				
					header("Location: login.php?login=wrongInput");	
					exit();
				}
			}						
		}
		else
		{
			header("Location: login.php?login=doNotExist");
			exit();
		}
	}

}
else
{
	header("Location: login.php?login=error");
	exit();
}
?>


Nahlásit jako SPAM
IP: 2a00:1028:83c4:501e:4cde:a8a0:f53d:491e...–
Kit+15
Guru
18. 3. 2019   #2
-
0
-

#1 Gaja
Nejprve bych zkontroloval funkci password_verify() - jaké dostává parametry a jaký vrací výsledek.

Všechna "else" v ukázce jsou zbytečná. Když se jich zbavíš, bude to kratší, čitelnější a nepotáhne se to jak špageta.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4014 příspěvků
18. 3. 2019   #3
-
0
-

Za kazde if{ a else{ si dej echo 1; // 2, 3, 4... Zjistis tak, u ktereho krokou skoncil. A zakomentuj vsechna presmerovani header()

Nahlásit jako SPAM
IP: 2001:718:2601:258:1c1e:b2d7:6fc6:3e0b...–
peter
~ Anonymní uživatel
4014 příspěvků
18. 3. 2019   #4
-
0
-

   

if(isset($_POST['submit']))
{
echo 1;
	include('connect.php');
	$name = mysqli_real_escape_string( $spojeni,$_POST['name']);	
	$password = mysqli_real_escape_string( $spojeni,$_POST['pwd']);

	if(empty($name) || empty($password))
	{
echo 2;
	header("Location: login.php?login=empty");
	exit();	
	}
	else
	{
echo 3;
		$sql= "SELECT name, pwd FROM users WHERE name = '$name'";
...
Nahlásit jako SPAM
IP: 2001:718:2601:258:1c1e:b2d7:6fc6:3e0b...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 46 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý