Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ขอความช่วยเหลือครับ session ไม่ยอมเก็บค่าก่อนหน้านี้ปกติครับ



 

ขอความช่วยเหลือครับ session ไม่ยอมเก็บค่าก่อนหน้านี้ปกติครับ

 



Topic : 110923



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์




เมื่อสัปดาห์ที่แล้วเขียนโปรแกรม session เก็บค่าปกติ สามารถเช็คค่า session ได้

สัปดาห์นี้ไม่ได้เข้าไปเขียนต่อ พอมาเมื่อเช้า เว็บที่ทำไว้ 2 เว็บไม่ยอมเก็บค่าเลย Login ขึ้นว่า Login สำเร็จแต่ไม่ยอมไปหน้าที่กำหนด

check session เป็นค่าว่าง

code ตามนี้ครับ

ใส่ในส่วนของการ Check Login แล้วเก็บค่า session ครับ

Code
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?PHP
$user_login=$_POST[user_login];
$pass_login=$_POST[pass_login];

if($user_login=="" or $pass_login=="") {
echo "<script language=\"JavaScript\">";
echo "alert('กรุณากรอกข้อมูลในช่องว่าง');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;
exit();
}
include ("config.php");
$sql="select * from tb_member where username='$user_login' and password='$pass_login'";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
mysql_close();

if($num<=0){
echo "<script language=\"JavaScript\">";
echo "alert('Username or Password Incorrect!!');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;
exit();
}else{
@session_start();
$_SESSION[sess_userid]=session_id();
$_SESSION[sess_username]=$user_login;
echo "<script language=\"JavaScript\">";
echo "alert('Hello $user_login You Welcome!! @^_^@');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=home.php'>" ;
}
?>


ส่วนนี้เป็นส่วนของการ เช็ค session ก่อนเข้าหน้าที่กำหนด

Code
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?PHP
@session_start();
$sess_userid=$_SESSION[sess_userid];
$sess_username=$_SESSION[sess_username];
if ($sess_userid<>session_id() or $sess_username=="") {
echo "<script language=\"JavaScript\">";
echo "alert('กรุณาเข้าสู่ระบบก่อนใช้งานในส่วนนี้');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;
exit();
}
?>


Login ครับ
login session

พอ Login แล้วอิงกับฐานข้อมูลแล้วปกติครับ
[img=login session]https://www.thaicreate.com/upload/stock/20140828101125.pn

แต่มันไม่เก็บค่า session ครับ แล้วก็เด้งไปหน้า Login เหมือนเดิม
login session



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-28 10:14:37 By : AkEz View : 2357 Reply : 8
 

 

No. 1



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


เปลี่ยนเงื่อนไขในการเช็ค $_SESSION ใหม่นิดนห่อยก็น่าจะได้ครับ

ส่วนของการ เช็ค session ก่อนเข้าหน้าที่กำหนด
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?PHP
@session_start();
$sess_userid=$_SESSION[sess_userid];
$sess_username=$_SESSION[sess_username];
if (!isset($sess_userid) or empty($sess_username)) {
echo "<script language=\"JavaScript\">";
echo "alert('กรุณาเข้าสู่ระบบก่อนใช้งานในส่วนนี้');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;
exit();
}
?>


ส่วนถ้าคุณอยากดูว่า $_SESSION ในหน้านั้นๆ มีอะไรบ้าง ก็ใช้สคริปนี้ครับ
Code (PHP)
<?PHP
session_start();
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
?>









ประวัติการแก้ไข
2014-08-28 10:35:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 10:33:03 By : arm8957
 


 

No. 2



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : arm8957 เมื่อวันที่ 2014-08-28 10:33:03
รายละเอียดของการตอบ ::
ลองใช้ Code ของพี่ในการ Check session แล้วครับก็ไม่ได้ครับเหมือนเดิมเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 10:45:54 By : AkEz
 

 

No. 3



โพสกระทู้ ( 455 )
บทความ ( 0 )



สถานะออฟไลน์


ลอง เครียร์ browser ดูครับ หรือ Restart Computer ครับ ถ้ายังไม่หาย ลองสร้างไฟร์ เพียวๆ 1 ไฟร์

Code (PHP)
<?php
session_start();

$_SESSION['id'] = '255';

var_dump($_SESSION);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 11:06:12 By : yamcrocodile
 


 

No. 4



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : yamcrocodile เมื่อวันที่ 2014-08-28 11:06:12
รายละเอียดของการตอบ ::
array(1) { ["id"]=> string(3) "255" } คืออะไรครับ


ลองย้ายเครื่องเขียนก็เป็นครับ


ประวัติการแก้ไข
2014-08-28 11:20:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 11:17:56 By : AkEz
 


 

No. 5



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


ลอง bug หน้าเช็คล็อคอินดูครับว่าได้สร้าง $_SESSION หรือไม่
Code (PHP)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?PHP
$user_login=$_POST[user_login];
$pass_login=$_POST[pass_login];

if($user_login=="" or $pass_login=="") {
echo "<script language=\"JavaScript\">";
echo "alert('กรุณากรอกข้อมูลในช่องว่าง');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;	
exit();
}
include ("config.php");
$sql="select * from tb_member where username='$user_login' and password='$pass_login'";
$result=mysql_db_query($dbname,$sql);
$num=mysql_num_rows($result);
mysql_close();

if($num<=0){
echo "<script language=\"JavaScript\">";
echo "alert('Username or Password Incorrect!!');";
echo "</script>";
echo "<meta http-equiv='refresh' content='0 ;url=index.php'>" ;
exit();
}else{
session_start();
$_SESSION['sess_userid']=session_id();
$_SESSION['sess_username']=$user_login;

#------ตรงนี้เป็นการ debug ถ้าค่า $_SESSION สามารถสร้างได้ปกติก็ลบคับ------#
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
exit();
#------จบการ debug------#

if (!isset($_SESSION['sess_userid']) or empty($_SESSION['sess_username'])) {
   echo "<script language=\"JavaScript\">";
   echo "alert('Hello $_SESSION[sess_username] You Welcome!! @^_^@');";
   echo "</script>";
   echo "<meta http-equiv='refresh' content='0 ;url=home.php'>" ;
}
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 11:42:18 By : arm8957
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


01.<head>
02.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
03.</head>
04.<?PHP


ถ้าต้องการใช้ session ต้องไม่ echo หรือส่ง header อะไรออกไปก่อนการใช้ session
โค๊ดบันทัดที่ 1-3 เป็นการส่ง header ออกไปแล้ว ดังนั้น session_start() เลยใช้ไม่ได้
ดังนั้นโค๊ดควรจะเป็นแบบนี้

<?php session_start(); ?>
01.<head>
02.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
03.</head>
04.<?php

ส่วน session_start(); บันทัดอื่น เอาออกครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 12:38:34 By : Chaidhanan
 


 

No. 7



โพสกระทู้ ( 36 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ เหมือนว่า session มันมีค่าที่เก็บอยู่ก่อนหน้านั้นแล้ว

จากการที่ลอง เช็ค Bug ดู เลยทำการ destory session ทั้งหมด

เป็นปกติแล้วครับ

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 13:17:07 By : AkEz
 


 

No. 8



โพสกระทู้ ( 16 )
บทความ ( 0 )



สถานะออฟไลน์


ลองสั่งเอา @ session_start ออกดูครับ น่าจะมี Error แล้วลอง comment code ออกดูเหลือแต่
Code (PHP)
session_start();
echo session_id();

แล้วลอง refresh ดูเรื่อยๆว่า session_id(); เปลี่ยนทุกครั้งที่ refresh หรือ load page หรือเปล่านะครับอย่าลืมเปิด warning ด้วยนะครับ

เพิ่มเติม
Code (PHP)
if ($sess_userid !== session_id() || !isset($sess_username))


session_start(); แล้วมี warning แจ้งมา ให้ลองเซฟไฟล์เป็น utf-8 with out BOM ถ้าใน Dream กด ctrl+J เลือก Title/Encode แล้วเอาติ๊กถูกที่ Include BOM ออกแล้ว OK Save แล้วลองรันใหม่ดูว่า Session_id เปลี่ยนป่าวครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-28 13:35:27 By : tlecreate
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอความช่วยเหลือครับ session ไม่ยอมเก็บค่าก่อนหน้านี้ปกติครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่