• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

password hash blad

VPS Starter Arubacloud
0 głosów
280 wizyt
pytanie zadane 16 sierpnia 2016 w PHP przez kkiermasz Użytkownik (680 p.)

Witam!
W fragmencie kodu odpowiadającym za hashowanie hasła muszę mieć błąd, za cholerę nie wiem gdzie. Jak wywalę, to strona działa. Jak dopisze ten fragment to wywala ERROR 500.
 

<?php

	session_start();

	if(isset($_POST['email']))
	{
		$wszystkook=true;
		
		$login = $_POST['login'];  
		
		if((strlen($login)<3) || (strlen($login)>20)) //długość loginu
		{
			$wszystkook=false;
			$_SESSION['e_login']="Login musi posiadać od 3 do 20 znaków";
		}
		
		if(ctype_alnum($login)==false) //czy ktos nie chcial mnie oszukac
		{
			$wszystkook=false;
			$_SESSION['e_login']="Login może skladać się tylko z liter i cyfr";
		}
	
	
	
		
		$email = $_POST['email'];  //poprawnosc email
		$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
		
		if((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
		{
			$wszystkook=false;
			$_SESSION['e_email']="Podaj poprawny adres e-mail";
		}
		
		
		
		
		
		$haslo1 = $_POST['haslo1'];     //pass check
		$haslo2 = $_POST['haslo2'];
			
		if((strlen($haslo1)<8) || (strlen($haslo1)>20)) //długość hasła
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Hasło musi zawierać od 8 do 20 znaków";
		}
		
		if($haslo1!=$haslo2)
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Podane hasła nie są identyczne";
		}
		
		$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
		echo $haslo_hash; exit();  
		
		if($wszystkook==true)
		{
			echo "Udana walidacja!"; exit();
		}
		
	}
	
?>

<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	
	<link rel="stylesheet" href="styles/register_style.css" type="text/css" />
	<link href='https://fonts.googleapis.com/css?family=Lato:400,700&subset=latin-ext' rel='stylesheet' type='text/css'>
	
	<meta name="title" content="Zarejestruj się" />
	<meta name="description" content="Panel rejestracji" />
	<meta name="keywords" content="rejestracja, test" />
	
	<script src='https://www.google.com/recaptcha/api.js'></script>
</head>

<body>
	
		<div id="container">
			<form method="post">
				
				<input type="text" placeholder="login" name="login">
				<?php
				
					if(isset($_SESSION['e_login']))
					{
						echo '<div class="error">'.$_SESSION['e_login'].'</div>';
						unset($_SESSION['e_login']);
					}
				?>
				
				
				<input type="email" placeholder="adres e-mail" name="email">
				<?php
				
					if(isset($_SESSION['e_email']))
					{
						echo '<div class="error">'.$_SESSION['e_email'].'</div>';
						unset($_SESSION['e_email']);
					}
				?>
				
				
				<input type="password" placeholder="hasło" name="haslo1">
				
			
				<input type="password" placeholder="powtórz hasło" name="haslo2">		
				<?php
				
					if(isset($_SESSION['e_haslo']))
					{
						echo '<div class="error">'.$_SESSION['e_haslo'].'</div>';
						unset($_SESSION['e_haslo']);
					}
				?>
				
				
				<label>
					<input type="checkbox" name="regulamin">  Akceptuję regulamin 
				</label>
				
				<div class="g-recaptcha" data-sitekey="6LflJSYTAAAAACPN7nuzkjIOg4sUwXvrfW8iTv6t"></div>
				
				<input type="submit" value="Zarejstruj się">
				
			</form>
			
			<a id="usun" href="login.php">
				<div id="zaloguj">
				Masz już konto? Zaloguj się!
				</div>
			</a>
			
		</div>
		

		
</body>
</html>

 

3 odpowiedzi

+1 głos
odpowiedź 16 sierpnia 2016 przez Comandeer Guru (599,730 p.)

Najpierw włącz sensowne wyświetlanie błędów. Później sprawdź, jaką masz wersję PHP. Musisz mieć przynajmniej 5.5.

komentarz 16 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)

Fatal error: Call to undefined function password_hash() in /srv/accounts/600/5a7/public_html/www/register.php on line 57


Co do wersji ogarnę jutro, spytam się administratora mojego serwera

2
komentarz 16 sierpnia 2016 przez Comandeer Guru (599,730 p.)
No to już Ci mówię, że masz starszą niż 5.5. Strzelam, że 5.3 ;)
komentarz 17 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)
5.4.4 jak się okazało :D
komentarz 17 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)
Serwer nie może mieć nowszego PHP, gdyż posypią się strony klientów. :C
Instaluję więc XAMPPa
0 głosów
odpowiedź 17 sierpnia 2016 przez efiku Szeryf (75,160 p.)
Zaktualizuj PHP do minimum 5.6 jak jest opcja 7 to bierz 7.

Chyba, że wolisz siedzieć na nie wspieranych i słabych wersjach, to droga wolna :P
–2 głosów
odpowiedź 16 sierpnia 2016 przez kkiermasz Użytkownik (680 p.)

tak nie wywala błędu

	$haslo1 = $_POST['haslo1'];     //pass check
		$haslo2 = $_POST['haslo2'];
			
		if((strlen($haslo1)<8) || (strlen($haslo1)>20)) //długość hasła
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Hasło musi zawierać od 8 do 20 znaków";
		}
		
		if($haslo1!=$haslo2)
		{
			$wszystkook = false;
			$_SESSION['e_haslo']="Podane hasła nie są identyczne";
		}
		
	//	$haslo_hash = password_hash($haslo1, PASSWORD_DEFAULT);
	//	echo $haslo_hash; exit();  
	
		echo $haslo1; exit();
		
		if($wszystkook==true)
		{
			echo "Udana walidacja!"; exit();
		}
		
	}

 

komentarz 17 sierpnia 2016 przez efiku Szeryf (75,160 p.)
mb_strlen :))))))

Podobne pytania

0 głosów
1 odpowiedź 284 wizyt
pytanie zadane 22 października 2015 w PHP przez Maksymilian Sadowski Nowicjusz (140 p.)
0 głosów
0 odpowiedzi 327 wizyt
pytanie zadane 2 listopada 2019 w C i C++ przez matlena00 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 469 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...