sürekli açık session
Merhaba ben üyelik sistemi yazıyorum. üyelik sisteminde tarayıcı kapandıgında session bitiyor.
bunu cerez kullanmadan nasıl yapabilirim. yani session sürekli açık kalacak
ChatGPT ile uğraştık biraz oturumun süresini 7 güne ayarlayıp isteğimi gerçekleştirdi.
<?php
ini_set('session.gc_maxlifetime', 60 * 60 * 24 * 7);
ini_set('session.cache_expire', 60 * 60 * 24 * 7);
session_start();
if (isset($_SESSION['kullanici']['id'])) {
$dsn = "mysql:host=localhost;dbname=db_name";
$pdo = new PDO($dsn, "root", "");
// Check if session is valid
$stmt = $pdo->prepare("SELECT * FROM user WHERE id = :user_id");
$stmt->bindParam(":user_id", $_SESSION['kullanici']['id']);
$stmt->execute();
$user = $stmt->fetch();
if ($user) {
echo "Giriş Yapıldı";
} else {
session_destroy();
}
} else {
echo '
<form action="" method="POST">
<input type="text" name="email">
<input type="text" name="sifre">
<button type="submit" name="login">Gönder</button>
</form>
';
if (isset($_POST['login'])) {
$dsn = "mysql:host=localhost;dbname=db_name";
$pdo = new PDO($dsn, "root", "");
$stmt = $pdo->prepare("SELECT * FROM user WHERE email = :email AND sifre = :sifre");
$stmt->bindParam(":email", $_POST['email']);
$stmt->bindParam(":sifre", $_POST['sifre']);
$stmt->execute();
$user = $stmt->fetch();
if ($user) {
$_SESSION['kullanici']['id'] = $user['id'];
echo "Giriş Yapıldı";
} else {
echo "E-posta veya şifre yanlış";
}
}
}