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 > สอยถามเกี่ยวกับการใช้ sesion และ header ครับ มีปัญหาเมื่อเปลี่ยนเครื่องทำงานครับ



 

สอยถามเกี่ยวกับการใช้ sesion และ header ครับ มีปัญหาเมื่อเปลี่ยนเครื่องทำงานครับ

 



Topic : 106043



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



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



ผมก็ใช้ session และ header มานาน ก็ไม่ค่อยเจอปัญหาเท่าไหร่ จนมีอยู่โปรเจ็คนึงที่ลองพัฒนาขึ้นแล้ว copy ไฟล์ไปรันบนเครื่องอื่น ๆ แล้วมีปัญหาเรื่อง session error (ที่ทดสอบกับเครื่องอื่น ไม่ได้เป็นคนทดสอบเองนะครับ copy ให้คนอื่น แล้วเขาลองทดสอบดู)
อย่างแรกอยากสอบถามครับ จากโค้ด
Code (PHP)
<?
	session_start();
	include("connect.php");
	$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['user_login'])."' and Password = '".md5(trim($_POST['pass_login']))."' ";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	mysql_query("SET character_set_results=UTF8");
	mysql_query("SET character_set_client=UTF8");
	mysql_query("SET character_set_connection=UTF8");
	if(!$objResult)
	{
			$code_error="<font size='2' face='MS Sans Serif' color='#FF0000'><b>Username หรือ Password ไม่ถูกต้อง กรุณา Login ใหม่</b></font>";
			session_register("code_error");
			header("location:../../login/index.php");
	}
	else
	{
		if($objResult['status'] !=1)
		{
			$code_error="<font size='2' face='MS Sans Serif' color='#FF0000'><b>ชื่อผู้ใช้งานนี้ยังไม่ได้รับการอนุญาตให้ใช้งาน กรุณาติดต่อผู้ดูแลระบบ</b></font>";
			session_register("code_error");
			header("location:../../login/index.php");
		}
		else
			{
			if($objResult['rang'] =='ADMIN')
				{
				//session_start();
				$_SESSION["ADMIN"] = $objResult["IDstd"];
				$_SESSION["PK"] = $objResult["IDstd"];
				$_SESSION["TEACHER"] = $objResult["IDstd"];
				$_SESSION["STUDENT"] = $objResult["IDstd"];
				$_SESSION["STUHEADER"] = $objResult["IDstd"];
				$_SESSION["ALL"] = $objResult["IDstd"];
				session_write_close();
				header("location:../../admin/index.php");                  	
				}
				else
					{
					if($objResult['rang'] =='PK')
						{
						//session_start();
						$_SESSION["PK"] = $objResult["IDstd"];
						$_SESSION["TEACHER"] = $objResult["IDstd"];
						$_SESSION["STUDENT"] = $objResult["IDstd"];
						$_SESSION["STUHEADER"] = $objResult["IDstd"];
						$_SESSION["ALL"] = $objResult["IDstd"];
						session_write_close();
						header("location:../../pk/index.php");
						}
						else
							{
							if($objResult['rang'] =='TEACHER')
								{
								//session_start();
								$_SESSION["TEACHER"] = $objResult["IDstd"];
								$_SESSION["STUDENT"] = $objResult["IDstd"];
								$_SESSION["STUHEADER"] = $objResult["IDstd"];
								$_SESSION["ALL"] = $objResult["IDstd"];
								session_write_close();
								header("location:../../teacher/index.php");
								}
								else
									{
									if($objResult['rang'] =='STUHEADER')
										{
										//session_start();
										$_SESSION["STUHEADER"] = $objResult["IDstd"];
										$_SESSION["ALL"] = $objResult["IDstd"];
										session_write_close();
										header("location:../../student/index.php");
										}
										else
											{
											//session_start();
											$_SESSION["STUDENT"] = $objResult["IDstd"];
											$_SESSION["ALL"] = $objResult["IDstd"];
											session_write_close();
											header("location:../../student/index.php");
											}
									}
							}
					}
			} 
	} 
	mysql_close();
?>


จากโค้ดด้านบน ในส่วนของ
Code (PHP)
{
				//session_start();
				$_SESSION["ADMIN"] = $objResult["IDstd"];
				$_SESSION["PK"] = $objResult["IDstd"];
				$_SESSION["TEACHER"] = $objResult["IDstd"];
				$_SESSION["STUDENT"] = $objResult["IDstd"];
				$_SESSION["STUHEADER"] = $objResult["IDstd"];
				$_SESSION["ALL"] = $objResult["IDstd"];
				session_write_close();
				header("location:../../admin/index.php");                  	
				}


ที่ผมทำการมาร์ค //session_start(); ไว้ มันมีผลอะไรมั้ยครับ แต่เดิม ไม่มาร์คไว้ก็ทำงานปกติ แต่พอลองมาร์คไว้ ก็ยังทำงานได้ปกติ ไม่มีการแสดง error อะไร แต่พอลองไปทำงานบนเครื่องอื่น ดันแสดง error
แล้วก็ตัวไฟล์ connect.php
Code (PHP)
<?
$host="localhost";
$user="root";
$pass="1234";
$dbname="pongkong";
$connect=mysql_connect($host,$user,$pass) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
$connectdb=mysql_select_db($dbname) or die("ไม่สามารถเลือกฐานข้อมูลได้");
mysql_query("SET character_set_results=UTF8");
mysql_query("SET character_set_client=UTF8");
mysql_query("SET character_set_connection=UTF8");
?>


แล้วในทุก ๆ หน้าผมจะประกาศไว้ประมาณนี้ครับ
Code (PHP)
<?
session_start();
	if ($_SESSION['ADMIN'] == "") {    //ถ้าตัวแปรเป็นค่า ว่าง
	header("Location:../index.php");   //ให้ไปหน้า login
	 }
include("../system/config/connect.php"); //ขึ้นอยู่กับตำแหน่งไฟล์ครับ 
$NResult = mysql_fetch_array(mysql_query("SELECT * FROM member WHERE IDstd = '".$_SESSION["TEACHER"]."' "));
?>

ซึ่งจะอยู่บรรทัดที่ 1 เสมอ

เลยอยากรู็ว่าเป็นเพราะอะไร ถึงยีงมี error ในส่วนของ session sent header อยู่



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-20 11:46:11 By : akkaneetha View : 726 Reply : 4
 

 

No. 1



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



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


ใช้ฟังก์ชั่นนี้แทน header() ครับ
Code (PHP)
function Redirect($url){
	echo '<script>';
	echo "window.location.href = '$url';";
	echo '</script>';
}

คือเปลี่ยนจาก
Code (PHP)
header("location:../../admin/index.php");  


เป็น
Code (PHP)
function Redirect($url){
	echo '<script>';
	echo "window.location.href = '$url';";
	echo '</script>';
}
Redirect('../../admin/index.php');  







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 12:01:30 By : arm8957
 


 

No. 2



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



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

แล้วจะไม่ส่งผลกับ session ใช่มั้ยครับ แบบว่ายังใช้งานได้เหมือนเดิม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 12:12:35 By : akkaneetha
 

 

No. 3



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



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


ไม่ส่งผลใดๆ กับ session ครับ เป็นเพียงการนำจาวาสคริปมาใช้ในการเปิดหรือรีไดเรคไปหน้าเพจใหม่ เพราะฟังก์ชัน header() บางครั้งถ้าไม่ใส่ ob_start(); ไว้ก่อนมันจะ error บลาๆๆๆ และถ้าประกาศ ob_start(); มาใช้งาน ก็จะทำให้เซิร์ฟเวอร์ทำงานหนักโดยใช่เหตุ ผมเลยแก้ปัญหาดดยข้างต้นที่แนะนำไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 12:15:06 By : arm8957
 


 

No. 4



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



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

ขอบคุรมากครับ จะลองนำไปใช้งานดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-20 15:46:05 By : akkaneetha
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอยถามเกี่ยวกับการใช้ sesion และ header ครับ มีปัญหาเมื่อเปลี่ยนเครื่องทำงานครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่