เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

nantapornnt
PHP Jr. Member
PHP Jr. Member
โพสต์: 17
ลงทะเบียนเมื่อ: 07/10/2009 12:05 am

เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย nantapornnt »

โค้ด: เลือกทั้งหมด

<?php 
session_start();
error_reporting(E_ALL^E_NOTICE );

require("connect.php");
$cook_nm  = 'ck_nm';
$cook_pw = 'ck_pw';
$cook_time = 3600 * 24 * 2;

$bkk = mktime(gmdate("H")+7,gmdate("i")+0,gmdate("s"),gmdate("m"),gmdate("d"),gmdate("Y"));
$datetimeformat= "j/m/y- H:i";
$now = date($datetimeformat,$bkk);


?>
พอรันแล้วมันแจ้งerror แบบนี้อ่ะค่ะ ไม่รู้จะแก้ยังไงดีค่ะ

โค้ด: เลือกทั้งหมด

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\config.inc.php:9) in C:\AppServ\www\config.inc.php on line 10

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\config.inc.php:9) in C:\AppServ\www\config.inc.php on line 10

Strict Standards: mktime() [function.mktime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Krasnoyarsk' for '7.0/no DST' instead in C:\AppServ\www\config.inc.php on line 18

Strict Standards: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Krasnoyarsk' for '7.0/no DST' instead in C:\AppServ\www\config.inc.php on line 20
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เช็คไฟล์ config.inc.php
ตามที่แจ้ง error ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
nantapornnt
PHP Jr. Member
PHP Jr. Member
โพสต์: 17
ลงทะเบียนเมื่อ: 07/10/2009 12:05 am

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย nantapornnt »

โค้ดที่ตั้งถามในกระทู้เป็นไฟล์ config.inc.php ค่ะ ตอนนี้แก้ error ได้แล้วค่ะ
แต่พอสร้างอีกไฟล์(auth.inc.php) แล้ว require ไฟล์ config.inc.php มันติด error ค่ะ
รบกวนช่วยดูโค้ดให้หน่อยนะคะ

โค้ด: เลือกทั้งหมด

<?php

require("config.inc.php");

if(!isset($_SESSION['ses_user'])){
	if(!isset($_REQUEST [$ck_nm])){
		header("login.php?");
		exit;
	}else{
	
	$query = "SELECT tbl_pwd.ID, tbl_pwd.Pass, tbl_person.Last_log";
	$query .= "FROM tbl_pwd INNER JOIN tbl_person ON tbl_pwd.ID = tbl_person.ID";
    $query .= "WHERE tbl_pwd.ID = '$_COOKIE[$ck_nm]' ";               

	$result = mssql_fethch_array($query);
	
		if(!result){
			header("Location:login.php");
			exit;
		}
		
		if($_COOKIE[$ck_nm] != $result['Pass']){
			header("Location:login.php");
			exit;
		}
		
		$_SESSION['ses_user'] = $_COOKIE[$ck_nm];
		$_SESSION['last_log'] = $result['Last_log'];

	}
}
?>
error ที่มันแจ้งขึ้นอย่างนี้อ่ะค่ะ

โค้ด: เลือกทั้งหมด

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\auth.inc.php:2) in C:\AppServ\www\config.inc.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\auth.inc.php:2) in C:\AppServ\www\auth.inc.php on line 8
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

https://www.mindphp.com/forums/viewtopic.php?f=6&t=1406
อาจจะมาจากตัวอักษรที่มองไม่เห็นก็ได้
ขอรายละเอียดโปรแกรมต่างๆที่ใช้ด้วยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
nantapornnt
PHP Jr. Member
PHP Jr. Member
โพสต์: 17
ลงทะเบียนเมื่อ: 07/10/2009 12:05 am

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย nantapornnt »

โปรแกรมที่ใช้เขียนโค้ด
1.Adobe Dreamweaver CS3
2.Eclipse
3.Notepad

คือที่ลอง ๆ เขียนโค้ดในหลาย ๆ โปรแกรม เพราะอยากลองดูว่าโปรแกรมตัวไหนมันน่าจะช่วยในการเขียนโค้ดได้ดีที่สุดอ่ะค่ะ

แล้วโค้ดที่มันติด error นี้จะใช้สำหรับทำระบบ login ค่ะ (ดูตัวอย่างมาจากหนังสือค่ะ)

ปล. มีเรื่องสงสัยอีกเรื่องนึงค่ะ
ทำไมโค้ดบางไฟล์ติด error พอ copy โค้ดลงใส่ลงในไฟล์ใหม่แล้วลองรันดูก็หาย error
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เป็นที่โปรแกรมของเราด้วย ครับ
เท่าทีลองดู Notepad ถ้า save set Encoding เป็น UTF-8 จะมีปัญหา ถึงจะเอาไปเปิดกับโปรแกรมอื่นแล้วทำงานต่อ พวกอัพขระที่มองไม่เห็น ที่ Notepad ใส่เข้ามาก็ยังอยู่
แต่ถ้าเรา copy เอาเฉพาะโค้ด แล้วไปวางที่ Dreamweaver หรือ Eclipse แล้ว save ทับของเก่า ก็ไม่น่าจะมีปัญหา
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
nantapornnt
PHP Jr. Member
PHP Jr. Member
โพสต์: 17
ลงทะเบียนเมื่อ: 07/10/2009 12:05 am

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย nantapornnt »

แล้วควรใช้โปรแกรมตัวไหนเขียนโค้ดดีค่ะ ??
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

แล้วแต่ถนัดครับ
แต่ถ้าโปรแกรมเน้นโค้ดอย่างเดียว แนะนำ Eclipse ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
nantapornnt
PHP Jr. Member
PHP Jr. Member
โพสต์: 17
ลงทะเบียนเมื่อ: 07/10/2009 12:05 am

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย nantapornnt »

ยังแก้ error ไม่ได้เลยค่ะ
(ใช้ eclipse เขียนโค้ด)

โค้ด: เลือกทั้งหมด

<?php // config.inc.php

session_start();

error_reporting(E_ALL^E_NOTICE );

date_default_timezone_set('Asia/Bangkok');

require("connect.php");

$cook_nm  = 'login_26br';
$cook_pw = 'log_65pw';
$cook_time = 3600 * 24 * 1.2;


$bkk = mktime(gmdate("H")+7,gmdate("i")+0,gmdate("s"),gmdate("m"),gmdate("d"),gmdate("Y"));
$datetimeformat= "j/m/y- H:i";

$now = date($datetimeformat,$bkk);


?>
ถ้ารันเฉพาะไฟล์ config.inc.php จะไม่ error ค่ะ

โค้ด: เลือกทั้งหมด

<?php //login.php
							
			require("config.inc.php");
					
			$user = $_REQUEST['txt_user'];
			$pass = $_REQUEST['txt_pass'];
								
		if(isset($_REQUEST[$cook_nm])){
			$save_user = 'checked';
			$focus = "document.f_login.txt_pass.focus();";
		}
		else{
			$focus = "document.f_login.txt_user.focus();";									
		}
		
		if((!empty($txt_user)) And (!empty($txt_pass))){
			$user = trim($_POST['txt_user']);
			$pass = trim($_POST['txt_pass']);
									
			$query = "SELECT * FROM tbl_pwd WHERE ID='$user' ";
			$result = mssql_query($query,$con);						
			$rs = mssql_fetch_array($result);			
									
			if(!rs){
			echo "<center><br><img src=images/02.jpeg><br> ข้อมูลผิด !!!! </center>";
			echo "&nbsp;<a href=./>เข้าสู่ระบบ</a>";
			exit;
			}
									
			if(md5(trim($pass))==trim($rs['Pass'])){
				$_SESSION['ses_user'] = $user;
				$_SESSION['ses_last_log'] = $rs['Last_log'];
										
					if($_REQUEST['chk_user'] =="on"){
						setcookie($cook_nm,$user,time()+$cook_time);
					}else{
						setcookie($cook_nm,"",time());
					} // if == on (mem user)
										
					if($_REQUEST['chk_pass']=="on"){
						setcookie($cook_pw,md5($pass),time()+$cook_time);
					}else{
						setcookie($cook_pw,"",time());
					} // if == on (mem pass)
										
					mssql_query("UPDATE tbl_pwd SET Last_log ='$now' WHERE ID='$user' ");
										
					$query = "SELECT * FROM tbl_pwd WHERE ID='$user' ";
					$result = mssql_query($query,$con);						
					while($rs = mssql_fetch_array($result)){
						$user2 = $rs['ID'];
						$pass2 = $rs['Pass'];
						$id_type_user2 = $rs['ID_type_user'];
						$last_log2 = $rs['Last_log'];
					} //while
										
					mssql_query("INSERT INTO tbl_log(ID,Pass,ID_type_user,Date_now) VALUES ('$user2','$pass2','$id_type_user2','$last_log2')");
	?>
				<html>
					<title> เข้าสู่ระบบ</title>
					<meta Http-equiv="content-type" Content="text/html; Charset=windows-874">
					<meta Http-equiv="refresh" Content="1; Url=index.php">
					<center><br><br>
					<b>ยินดีต้อนรับ :  รอสักครู่  กำลังเข้าสู่ระบบ..</b></center>
				</html>
				
				<?php
				exit; 
									
			}else{ // pass == false
				echo "<center><br><img src=images/02.jpeg><br> ข้อมูลผิด !!!! </center>";
				echo "&nbsp;<a href=./>เข้าสู่ระบบ</a>";
				exit;							
			}
		} // user , pass != ""
							
				?>
	
	<HTML><HEAD>
	<TITLE> :: เข้าสู่ระบบ  :: </TITLE>
	<meta http-equiv="Content-Type" content="text/html; charset=tis-620"></HEAD>
	<Body  onload=<?=$focus?>>
	<Form action="login.php" method=post name=f_login>
	<center><br><br>
							
	<TABLE border=1 cellpadding=0 cellspacing=0 bordercolor=white>
	<tr><td bordercolor=#660066>
		<Table border=0 cellspacing=1 cellpadding=2 bgcolor=#99FF66>
			<tr> 
				<td colspan=2 bgcolor=#33CC33>&nbsp;  <b> เข้าสู่ระบบ</b></td>
			</tr>
			<tr>
				<td rowspan="3" align=right><img src=images/icon_login.gif>&nbsp;&nbsp;</td>
				<td align="right">รหัสประจำตัว
				<input type="text" name="txt_user" size=25 value='<?=$_REQUEST[$cook_nm]?>'></td>
			</tr>
			<tr> 
				<td align="right">รหัสผ่าน
				<input type="password" name="txt_pass" size=25></td>
			</tr>
			<tr> 
				<td><br>&nbsp;&nbsp;<input type="checkbox" name="chk_user" <?=$save_user?>>
				จำ รหัสประจำตัว ไว้ในเครื่อง &nbsp;<br>
				&nbsp;&nbsp;<input type="checkbox" name="chk_pass">
				จำรหัสผ่านไว้ในเครื่อง &nbsp;<BR>
				<br><font color=red size=-1>ถ้าไม่ใช่เครื่องส่วนตัว ไม่ควรให้จำรหัสผ่าน</font></td>
			</tr>
			<tr> 
				<td colspan=2 align=right>
				<input type="submit" value='เข้าสู่ระบบ '>&nbsp;&nbsp;</td></tr>
		</Table>
	</td></tr></TABLE>
								
	 </form>
ถ้ารันไฟล์ login.php จะขึ้น error แบบนี้ค่ะ

โค้ด: เลือกทั้งหมด

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\login.php:1) in C:\AppServ\www\config.inc.php on line 3

โค้ด: เลือกทั้งหมด

<?php // auth.inc.php

require("config.inc.php");

if(!isset($_SESSION['ses_user'])){
	if(!isset($_REQUEST[$cook_nm])){
		//header("Location: login.php");
		echo "&nbsp;<a href=login.php>เข้าสู่ระบบ1</a>";
		exit;
	}else{
		$query = "SELECT * FROM tbl_pwd WHERE ID='$_COOKIE[$cook_nm]' ";
		$result = mssql_query($query,$con);
		$rs = mssql_fetch_array($result);
		
		if(!rs){
			//header("Location: login.php");
			echo "&nbsp;<a href=login.php>เข้าสู่ระบบ2</a>";
			exit;
		}
		
		if($_COOKIE[$cook_pw] != $rs['Pass']){
			//header("Location: login.php");
			echo "&nbsp;<a href=login.php>เข้าสู่ระบบ3</a>";
			exit;
		}
		
		$_SESSION['ses_user'] = $_COOKIE[$cook_nm];
		$_SESSION['ses_last_log'] = $rs['Last_log'];
	}
	
}
?>
ไฟล์ auth.inc.php ตอนรันไม่ error ทั้ง ๆ ที่ require ไฟล์ config.inc.php เหมือนกันอ่ะค่ะ

รบกวนช่วยดูหน่อยนะคะ พยายามทำแล้วยังทำไม่ได้ซะทีเลยค่ะ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เกี่ยวกับ session ขอความช่วยเหลือหน่อยนะคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

mindphp เขียน:https://www.mindphp.com/forums/viewtopic.php?f=6&t=1406
อาจจะมาจากตัวอักษรที่มองไม่เห็นก็ได้
ขอรายละเอียดโปรแกรมต่างๆที่ใช้ด้วยครับ
ลองเช็ค พวก space ด้วยครับ ถ้าเป็นไปได้ก็ลองเขียนขึ้นมาใหม่เลยครับ ก่อน เปิด tag php จะมีอักษรที่มองไม่เห็น ขึ้นก่อนก็ไม่ได้ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 11