Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

Problem z generowaniem losowego klucza i wysyłanie go do bazy

$
0
0
Kiedy użytkownik się zarejestruje wykonuje się ta funkcja wszystko jest jak zawszę ok nigdy mi się tak nie działo ale jak patrzę do bazy to klucz który powinien być psełdo losowy tatkoby nie jest bo każdy klucz a bazie jest taki sam

crying


if (isset($_POST['email']))
	{
		$all_ok = true;
		
		//walidacja email'u
		$email = $_POST['email'];
		$emailB = filter_var($email, FILTER_SANITIZE_EMAIL);
		
		if ((filter_var($emailB, FILTER_VALIDATE_EMAIL)==false) || ($emailB!=$email))
		{
			$all_ok = false;
			$_SESSION['e_email'] = true;
		}
		
		
		//walidacja imienia i nazwiska
		$name = $_POST['name'];
		if ((strlen($name)<1) || (strlen($name)>20))
		{
			$all_ok = false;
			$_SESSION['e_name'] = true;
		}	
		
		$last_name = $_POST['last_name'];
		if ((strlen($last_name)<1) || (strlen($last_name)>20))
		{
			$all_ok = false;
			$_SESSION['e_last_name'] = true;
		}	
		
		
		//Walidacja hasła
		$pass = $_POST['pass'];
		$pass2 = $_POST['pass2'];
		  
		if ((strlen($pass)<8) || (strlen($pass)>20))
		{
			$all_ok = false;
			$_SESSION['e_pass'] = true;
		}
		else
		{
			if ($pass != $pass2 )
			{
				$all_ok = false;
				$_SESSION['e_pass2']=true;
			}
		}
		$pass_hash = password_hash($pass, PASSWORD_DEFAULT);
		
		
		//walidacja daty
		$birthday_day = $_POST['birthday_day'];
		$birthday_month = $_POST['birthday_month'];
		$birthday_year = $_POST['birthday_year'];
		
		if(($birthday_day >= 1 && $birthday_day <= 31) && ($birthday_month >= 1 && $birthday_month<=12)  && ($birthday_year >= 1905 && $birthday_year <= 2016))
		{
			$date = date("Y");
			$min = $date - 13;
			$max = $date - 35;
			if($birthday_year  > $min || $birthday_year < $max)
			{
				$all_ok = false;
				$_SESSION['e_birthday']=true;
			}
		}
		else
		{
			$all_ok = false;
			$_SESSION['e_birthday']=true;
		}
		
		//walidacja płci
		$gender = $_POST['gender'];
		if($gender != 1 && $gender != 2 )
		{
			$all_ok = false;
		}
		
		//easy in humans hard bot
		$sekret = "6Le7DCQTAAAAANLWiTrjWHiy1UhJ-PyxDvCpz-bR";
		
		$sprawdz = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$sekret.'&response='.$_POST['g-recaptcha-response']);
		
		$odpowiedz = json_decode($sprawdz);
		
		if ($odpowiedz->success==false)
		{
			$all_ok = false;
		}
		
		//czy akceptowano regulamin?
		if (!isset($_POST['regulations']))
		{
			$all_ok=false;
			$_SESSION['e_regulamin']=true;
		}
		
		require_once "connect.php";
		
		mysqli_report(MYSQLI_REPORT_STRICT);
		
		try
		{
			$connection= new mysqli($host, $db_user, $db_pass, $db_name);
			if($connection->connect_errno!=0)
			{
				throw new Exception(mysqli_connect_errno());
			}
			else
			{
				//czy email już istnieje
				$rezultat = $connection->query("SELECT id FROM users WHERE email='$email'");
				
				if (!$rezultat) throw new Exception($connection->error);
					
				$ile_maili = $rezultat->num_rows;
				if($ile_maili>0)
				{
					$all_ok=false;
			        $_SESSION['e_email']= true;
				}
				$rezultat->free_result();
				
				if ($all_ok==true)
				{					
					$losowanie1 = rand(10000,9999999); 
					$losowanie2 = rand(10000,9999999); 
					$losowanie3 = rand(10000,9999999); 
					
					$l1=$losowanie2*$losowanie3+$losowanie1;
					
					$losowanie4 = rand(100,999); 
					$losowanie5 = rand(100,999); 
					$losowanie6 = rand(100,999); 
					
					$l2=$losowanie5*$losowanie6+$losowanie4;
					
					$k1=$l1+$l2;
					
					$losowanie7 = rand(100,999); 
					$losowanie8 = rand(100,999); 
					$losowanie9 = rand(100,999); 
					
					$l3=$losowanie8*$losowanie9+$losowanie7;
					
					$losowanie10 = rand(100,999); 
					$losowanie11 = rand(100,999); 
					$losowanie12 = rand(100,999); 
					
					$l4=$losowanie10*$losowanie12+$losowanie11;
					
					$k2 =$l3+$l4;
					$k3 = ($k1+$k2);
					$keys = ($k3/rand(1,15));
					
					if($connection->query("INSERT INTO users VALUES (NULL, '$email', NULL, '$pass_hash', '$name', '$last_name', '$birthday_year', '$birthday_month', '$birthday_day', '$gender', NULL, NULL, NULL ,NULL, '$keys',0, 0, 0)"))
					{
						echo "Udana rejestracja Zaloguj się";
					}
					else
					{
						throw new exception($connection->error);
					}
				}		
				
				$connection->close();
			}
		}
		catch(Exception $e)
		{
			echo '<span style="color:red;">Błąd serwera!</span></br>'.$e;
			echo'Informacja Developerska: '.$e;
		}
	}

Viewing all articles
Browse latest Browse all 65225

Trending Articles