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,027

HOME > PHP > PHP Forum > ช่วยดูทีครับ session พอจะส่งไปหน้ามี่ 2 มันดันไม่เห็นค่าของ session ครับ



 

ช่วยดูทีครับ session พอจะส่งไปหน้ามี่ 2 มันดันไม่เห็นค่าของ session ครับ

 



Topic : 064615



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



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



ไฟล์นี้ผมล็อกอินมาหน้า admin_page.php เรียบร้อยแล้ว
admin_page.php
<?
	session_start();
	include("check_session.php");
	check_session(1);
?>
<html>
<head>
</head>
<body>
..
..
</body>
</html>


main.php
<?
	session_start();
	include("check_session.php");
	check_session(2);
?>


check_session.php
<?
	function check_session($number){
		$number_status = $number;
		if($number_status == 1){ //Admin
			if($_SESSION['userid'] == "")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
			if($_SESSION['status'] != "admin")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
		} elseif ($number_status == 2){ //User
			if($_SESSION['userid'] == "")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}

			if($_SESSION['status'] != "user" || $_SESSION['status'] != "admin")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
		}
	}
?>


คือผมล็อกอินมา ผ่านแล้ว แล้วก็เข้ามายังหน้า admin_page.php พอจะไปดูหน้า main.php มันแสดงข้อความว่า session ของ userid ไม่มีนะครับ

มันแสดงเป็นภาษาขอมด้วยครับ ทั้งๆ ที่ผมตั้งให้เป็น UTF-8 แล้ว (ใช้ editplus) ปัญหานี่จะตามหลอกหลอนผมไปถึงไหนเนี่ย แก้เป็นภาษาไทยแล้ว แต่เวลาแสดง ดันเป็นภาษาขอม เหนื่อยจริงๆ ครับ

รบกวนด้วยนะครับ มือใหม่จริงๆ ครับ



Tag : PHP, MySQL, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-08-11 21:10:19 By : fogza View : 1242 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

คุณแน่ใจน่ะครับว่าในไฟล์ check_session.php มีการสร้าง session แล้ว






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 21:20:21 By : webmaster
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2011-08-11 21:20:21
รายละเอียดของการตอบ ::
ทำแบบนี้หรือปล่าวครับ
Code
PHP MySQL กับ Login Form ทำระบบ User ล็อกอิน แบบง่าย ๆ ด้วย PHP และ MySQL โดยทำการตรวจสอบ Username และ Password
ตรงไฟล์ check_login.php

ที่มีการสร้างแบบด้านล่างนี้ไหมครับ?
Code (PHP)
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];


ถ้าใช่ เราต้องสร้างทุกหน้าที่เราจะลิงค์ไปหน้าต่อไปหรือปล่าวครับพี่วิน ช่วยแนะนำเพิ่มเติมทีครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 21:55:28 By : fogza
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

สร้าง Session เฉพาะหน้า Login พอครับ หน้าอื่น ๆ ให้ใช้ session_start(); แล้วเรียกชื่อ $_SESSION["sess"] ได้เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 22:24:49 By : webmaster
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : webmaster เมื่อวันที่ 2011-08-11 22:24:49
รายละเอียดของการตอบ ::
check_login.php
<?
	session_start();
	$username = trim($_POST['username']);
	$password = trim($_POST['password']);
		include("config.inc.php");
		$strMember = "SELECT * FROM member WHERE username = '$username'";
		$memberQuery = mysql_query($strMember) or die(mysql_error());
		$objMember = mysql_fetch_assoc($memberQuery);
		
		if($objMember['password'] != trim($password)){
			echo "รหัสผ่านผิดพลาด!...";
			?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=admin_page.php">
			<?
				exit();
		} else {
			$_SESSION["userid"] = $objMember["user_id"];
			$_SESSION["status"] = $objMember["status"];

			session_write_close();
			
			if($objMember["status"] == "admin"){
				echo "ยินดีต้องรับ [ ".$objMember[nickname]." ]<br>กรุณารอซักครู่ ระบบกำลังดำเนินการ... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="5;URL=admin_page.php">
				<?
				exit();
			} else {
				echo "ยินดีต้อนรับ  [ ".$objMember[nickname]." ]</b><br>กรุณารอซักครู่ ระบบกำลังดำเนินการ... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="5;URL=main.php">
				<?
				exit();
			}
		}
		mysql_close();
?>


นี่ไฟล์ที่ผมไว้เช็คหลังจาก login แล้วสร้าง session ให้กับ userid และ status ครับ
ส่วนวิธีเรียกใช้ผมก็เขียนแบบนี้

Code (PHP)
session_start();
include("config.inc.php"); //ติดต่อฐานข้อมูล
include("check_session.php"); //เช็ค session
check_session(2); //เรียกใช้ฟังก์ชันในการเช็ค session

โดยที่ไฟล์ check_session.php ผมเขียนแบบนีี้
Code (PHP)
<?
	function check_session($number){
		$number_status = $number;
		if($number_status == 1){ //Admin
			if($_SESSION['userid'] == "")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
			if($_SESSION['status'] != "admin")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
		} elseif ($number_status == 2){ //User & Admin
			if($_SESSION['userid'] == "")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}

			if($_SESSION['status'] != "user" || $_SESSION['status'] != "admin")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}
		}
	}
?>


ไม่ทราบว่าผมเรียกใช้ถูกไหม๋ครับ ต้องประกาศแบบด้านล่างนี้ทุกหน้าที่จะทำการเช็ค session ผมเข้าใจถูกไหม๋เอ๋ย?
Code (PHP)
session_start();
include("config.inc.php");
include("check_session.php");
check_session(2); // 1 คือสำหรับ admin, 2 คือทั้ัง admin และ user



ประวัติการแก้ไข
2011-08-11 23:07:41
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-11 23:06:53 By : fogza
 


 

No. 5



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



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

Code (PHP)
$_SESSION["userid"] = $objMember["user_id"];
$_SESSION["status"] = $objMember["status"];

//แสดงผลดูสิครับ
echo "id: ".$_SESSION["userid"] ;
echo "<br>status: ".$_SESSION["status"];


ดูว่าตอนให้ค่ามันมีข้อมูลหรือมันตรงกะตอนเช็คหรือเปล่า เจ้า status อ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-12 11:44:19 By : chineji
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 5 เขียนโดย : chineji เมื่อวันที่ 2011-08-12 11:44:19
รายละเอียดของการตอบ ::
ตอนนี้ทำได้แล้วครับ พอดีกำหนดเงื่อนไขผิดตรงนี้
Code (PHP)
if($_SESSION['status'] != "user" || $_SESSION['status'] != "admin")
			{
				echo "กรุณาเข้าสู่ระบบ!... ";
				?>
				<META HTTP-EQUIV="Refresh" CONTENT="3;URL=login.php">
				<?
				exit();
			}

ผมเป็นกำหนดเป็นหรือ อันที่จริงต้องเป็นและ เพราะว่าถ้าเป็นหรือ ไม่ต้องเป็นทั้งสองอย่าง
ผมกำหนดอย่างนี้ถูกไหม๋ครับ

ตอนนี้มันติดอยู่อย่างนึง คือมันล็อกอินซ้ำกันได้ กับเวลาล็อกอิน ใช้ตัวอักษรใหญ่ก็ทำได้ ไม่ทราบว่าต้องแก้ไข หรือเพิ่มเติมอะไรหรอครับ?
รบกวนทีครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-12 15:06:05 By : fogza
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูทีครับ session พอจะส่งไปหน้ามี่ 2 มันดันไม่เห็นค่าของ 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 03
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 อัตราราคา คลิกที่นี่