|
|
|
php ไม่สามารถ logout ได้ เนื่องจาก ไม่ยอมลบ Cookie ให้ครับ |
|
|
|
|
|
|
|
ลองเปลี่ยนเป็น
setcookie('username');
setcookie('password');
แต่จริงๆไม่ต้องดัก if(isset($_COOKIE['username']) && isset($_COOKIE['password'])){
พอclick logout ให้ delete cookie เลย
setcookie('username');
setcookie('password');
|
|
|
|
|
Date :
2012-12-28 15:52:18 |
By :
LuckyStar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อ ไม่จําเป็นต้องเขียนส่งค่า username กับ password จาก ลิ้งlogout หรอครับ
|
|
|
|
|
Date :
2012-12-29 19:05:38 |
By :
kenghockey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่จำเป็นหรอครับก็ในเมื่อผู้ใช้งานจะ logout ออกอยู่แล้วไม่จำเป็นต้องเช็ค isset หรอครับ เพราะยังไงถ้าไม่ login ก็คงไม่มี link ให้กด logout ครับ (ความเป็นไปได้ครับ)
|
|
|
|
|
Date :
2012-12-29 21:31:49 |
By :
kokiflam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ไม่ล้างให้ครับมันก็ยังออนไลน์อยู่เลย แปลกเป็นอะไรของมัน พอLogout แล้ว echo ออกมาดูมันถูกลบไปหมด แต่ว่าผมให้มันกลับไปหน้าindex.php แล้ว include"member.php"; ในส่วนของหน้าmember.php เป็นแบบนี้
Code (PHP)
<?php
if(isset($_COOKIE['username']) && isset($_COOKIE['password'])){
include'includes/widgets/logged_in.php';
}else{
include'includes/widgets/login.php';
}
?>
ปรากฏว่ามันเช๊คว่าพบ COOKIE แล้วยังแสดงอยู่เลยครับ คือมันก็ทําคําสั่งแรกไปที่หน้าlogged_in.phpต่อครับ
ไม่ทราบว่าผมพลาดอะไรตรงไหนครับ
ส่วนอันี้คือหน้า index.php
Code (PHP)
<?php
ob_start();
session_start();
include'core/connect/connection.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Doublepine|เธงเธดเน€เธเธฃเธฒเธฐเธซเนเน€เธเธฒเธฐเธฅเธถเธเธ•เนเธเธ—เธธเธ</title>
<link href="css/960.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="css/slide_jquery/styles.css" />
<?php include'j_validate.js'; ?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script src="javascript/slide_jquery/script.js"></script>
<script src="javascript/slide_jquery/autoadvance.js"></script>
<link rel="stylesheet" type="text/css" href="css/slide_jquery/styles.css" />
</head>
<body>
<?php include'includes/main_menu.php'; ?>
<?
switch ($_GET["module"]) {
case "main_content":
include("includes/main_content.php");
break;
case "member":
include("includes/widgets.login.php");
break;
case "register":
include("includes/register.php");
break;
case "aboutus":
include("includes/page_aboutus.php");
break;
case "contactus":
include("includes/page_contactus.php");
break;
case "member":
include("includes/member.php");
break;
case "member":
include("includes/member.php");
break;
default:
include("includes/main_content.php");
}
?>
<?php include'includes/main_footer.php'; ?>
|
ประวัติการแก้ไข 2012-12-30 16:30:44
|
|
|
|
Date :
2012-12-30 15:35:38 |
By :
kenghockey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setcookie('username','',time()-1);
setcookie('password','',time()-1);
|
|
|
|
|
Date :
2012-12-30 16:38:31 |
By :
Krungsri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นั้นก็ลองแล้วครับ
|
|
|
|
|
Date :
2012-12-30 18:17:40 |
By :
kenghockey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setcookie('username',''); แบบนี้คือการ set ให้เป็นว่างเปล่าหรือเปล่า ลองดัก empty($_cookie(username)) ดูเพื่อไม่ให้เข้าลูป
|
|
|
|
|
Date :
2012-12-30 20:21:01 |
By :
notty |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วได้แน่นอนครับ (หวังว่าคงจะได้นะครับ)
Code (PHP)
<?php
if(isset($_COOKIE['username']) && isset($_COOKIE['password'])){
include'includes/widgets/logged_in.php';
}else{
include'includes/widgets/login.php';
}
?>
Code (PHP)
setcookie("username",false);
setcookie("password",false);
good luck
|
|
|
|
|
Date :
2012-12-30 20:49:32 |
By :
kokiflam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรวจสอบ echo ที่ไฟล์ logout มันหลุดครับ แต่ให้ header Location ไปที่ index.php มันไม่หลุดครับ
พอมี โค้ดตัวอย่างมาให้เทสไหมครับ
|
|
|
|
|
Date :
2012-12-30 22:38:25 |
By :
kenghockey |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (login.php)
<?php
if(isset($_COOKIE['username']) && isset($_COOKIE['password']) &&
empty($_COOKIE['username']) === false && empty($_COOKIE['password']) === false)
){
setcookie('username','');
setcookie('password','');
header('Location: ../../index.php');
}else{
echo "NOT COOKIE";
}
?>
น่าจะเกิดจากการ set ให้เป็นค่าว่างเปล่าแหละ เมื่อเกิดการตรวจสอบจึงเกิดวนลูป เพราะมัน isset แต่เป็นค่าว่างเปล่า ลองเพิ่ม empty เพื่อไม่ให้ค่าว่างเปล่าเข้าลูป
น่าจะได้แล้วน่ะ จริงๆแล้วต้องทำการเข้ารหัสแล้วก้อถอดรหัสด้วยเพื่อความปลอดภัย
|
|
|
|
|
Date :
2012-12-31 00:41:51 |
By :
notty |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|