Hej, dziwna rzecz z której nie mogę wybrnąć.
Mam system logowania - w skrócie bo nikomu sie nie bedzie chciało analizować - jeśli istnieje email i haslo i nie ma sesji to sprawdz czy email i hasło są poprawne - jesli tak to sprawdz w bazie czy istnieje email i jeśli tak to sprawdź czy password istnieje i jeśli istnieje to utwórz sesję - NO I właśnie echuje mi "success" ale już sesja nie tworzy. A jeśli na przykład umieściłbym to: $_SESSION["member"] = "przykladowy email"
na górze tego pliku czy przed if
to wtedy sesja działa
PODSUMOWUJĄC: mimo, że if
spełnia warunku to sesja się nie ustawia, ale gdy wjleje to przed if czy na poczatku pliku $_SESSION["member"] = "przykladowy email"
to sesja istnieje. co moze byc powodem?
if(isset($_POST["enter_email"]) && isset($_POST["enter_password"]) && !isset($_SESSION['member'])) {
$enter_email = $_POST["enter_email"];
$enter_password = $_POST["enter_password"];
if(filter_var($enter_email, FILTER_VALIDATE_EMAIL) && preg_match("/^[a-zA-Z0-9]{8,30}$/", $enter_password)) {
include_once("server.php");
$conn = db();
$check_email_exist = $conn->prepare("SELECT * FROM members WHERE `email_address` = '$enter_email'");
$check_email_exist->execute();
$count_result = $check_email_exist->rowCount();
if($count_result == 1) {
$row = $check_email_exist->fetch(PDO::FETCH_ASSOC);
$password = $row['password'];
if(password_verify($enter_password, $password)) {
$_SESSION["member"] = $enter_email;
echo "success";
} else {
echo "wrong";
}
} else {
echo "unfound";
}
} else {
echo "invalid";
}
}