Postingan lainnya
cara agar cookie lama beberapa hari
Hallo semuanya!
di sini saya baru saja saya mengikuti playlist belajar php di youtube, dan saya sudah mengikuti sampai video cookie.
Jadi apakah bisa cookie diset memakai variabel lain, di sini cookie yang saya buat memakai variabel time().
jadi apakah bisa variabel time() itu di ganti dengan variabel lain.
soalnya saya bingung untuk login bertahan 1 minggu.
sedangkan yg saya pakai sekarang adalah detik.
Kode :
<?php
session_start();
require_once 'functions.php';
// cek cookie
if( isset($_COOKIE['id']) && isset($_COOKIE['key']) ) {
$id = $_COOKIE['id'];
$key = $_COOKIE['key'];
// ambil username berdasarkan id
$result = mysqli_query($conn, "SELECT username FROM user WHERE id = $id");
$row = mysqli_fetch_assoc($result);
// cek cookie dan username
if( $key === hash('sha256', $row['username']) ) {
$_SESSION['login'] = true;
}
}
if( isset($_SESSION["login"]) ) {
header("Location: index.php");
exit;
}
if( isset($_POST["login"]) ) {
$username = $_POST["username"];
$password = $_POST["password"];
$result = mysqli_query($conn, "SELECT * FROM user WHERE username = '$username'");
// cek username
if( mysqli_num_rows($result) === 1 ) {
// cek password
$row = mysqli_fetch_assoc($result);
if( password_verify($password, $row["password"]) ) {
// set session
$_SESSION["login"] = true;
// cek remember me
if( isset($_POST['remember']) ) {
// buat cookie
setcookie('id', $row['id'], time()+60);
setcookie('key', hash('sha256', $row['username']), time()+60);
}
header("Location: index.php");
exit;
}
}
$error = true;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Halaman Login</title>
</head>
<body>
<h1>Halaman Login</h1>
<?php if( isset($error) ) : ?>
<p style="color: red; font-style: italic;">username / password salah</p>
<?php endif; ?>
<form action="" method="post">
<ul>
<li>
<label for="username">Username :</label>
<input type="text" name="username" id="username">
</li>
<li>
<label for="password">Password :</label>
<input type="password" name="password" id="password">
</li>
<li>
<input type="checkbox" name="remember" id="remember">
<label for="remember">Remember me</label>
</li>
<li>
<button type="submit" name="login">Login</button>
</li>
</ul>
</form>
</body>
</html>
Kode yang ingin saya ganti :
setcookie('id', $row['id'], time()+60);
setcookie('key', hash('sha256', $row['username']), time()+60);
jadi apakah bisa time() itu diganti dengan yang lain?
1 Jawaban:
Jawaban Terpilih
<div>Sebenarnya yang perlu kamu tahu ada berapa detik dalam 1 hari (tergantugn mau tahu jam, hari, minggu atau lainnya)<br><br>60 detik = 1 menit<br>60 menit = 1 jam<br>24 jam = 1 hari<br>7 hari = 1 minggu<br><br>detik -> minggu<br><br>606024*7 <br>alias<br><br></div><pre>time()+86400</pre><div><br><br></div>
Tanggapan
ouh, berarti yang time() itu tidak bisa diganti dengan yang lain.