Проблем със сесия

swlight

Registered
Здравейте. Имам малък проблем. Направил съм login/register с ajax за да става динамично. Всичко работи перфектно, но от PHP не иска да зададе самата сесия. Ако си я задам в индекса с рендъм число всичко работи, но явно нещо забравям и след като я задам в PHP тя явно изчезва. Това е кода, бих се радвал ако някой помогне, защото какво ли не опитвах и нищо..

PHP:
if($mode == "login"){
	$username = mysqli_real_escape_string($db, $_POST['username']);
	$password = mysqli_real_escape_string($db, $_POST['password']);
	$password_md5 = md5($password);
	
	if(isset($username) && isset($password)){
		$check = "SELECT * FROM users WHERE username='$username' AND password='$password_md5'";
		$check1 = mysqli_query($db, $check);
		
		if(mysqli_num_rows($check1) != 0){
			$data['redirect'] = $default_url;
			$data['status'] = 1;
			
			$get = mysqli_fetch_assoc($check1);
			$_SESSION['id'] = $get['id'];
		}else{
			$data['status'] = 0;
			$data['message'] = 'Invalid username or password!';
		}
	}else{
		$data['status'] = 0;
		$data['message'] = 'Please type username and password!';
	}
	
	header("Content-type: application/json");
	echo json_encode($data);
	mysqli_close($db);
	exit();
}
 
Оле, омг. Точно това съм забравил. Не, не мога просто, ужас, точно това да забравя хахахахах :D

+1, че ме подсети :D

:mrgreen: :mrgreen: :mrgreen:
 
Малко извън темата.
Няма голям смисъл да слагаш mysqli_real_escape_string на $password, след като след това ще го минеш с md5 и така ще го подадеш към заявката. Като цяло начина ти на боравене с базата данни е опасен. Препоръчвам ти да използваш Prepared statements ( независимо дали PDO или mysqli stmt ). Виж тука има полезна информация.
 

Back
Горе