มีป้ญหาเรื่องการใช้ session ค่ะ

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

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

เด็กอนุบาลหนึ่ง

มีป้ญหาเรื่องการใช้ session ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย เด็กอนุบาลหนึ่ง »

สวัสดีค่ะ

กลับมาอีกครั้งหลังจากหายไปนาน ตอนนี้กำลังเริ่มใส่โค้ดเกี่ยวกับ session เข้าไปในโค้ดที่มีอยู่ค่ะ จะได้เก็บคะเเนนจากเกมที่เด็กเล่นไปไว้ในdatabase ได้

เเต่ตอนนี้ยังส่งคะเเนนไปไม่ได้เลยค่ะ ประเด็นคือไม่ทราบว่าโค้ดเกี่ยวกับ session ที่มีอยู่เนี่ยถูกรึปล่าว หรือขาดอะไรไปบ้าง เพราะมี error หลังจากคลิ๊ก logout ด้วยค่ะ
ขอเเรงพี่ๆตรวจโค้ดให้หน่อยนะคะ

// โค้ดสำหรับหน้า login

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

<?php
session_start();

	
	$host = "localhost";
	$user = "root";
	$pass = "";
	$dbname = "kinderkids";
	$connection = mysql_connect($host, $user, $pass) or die ("cannot connect to DB");
	
	
	$sql = mysql_select_db($dbname,$connection) or die ("Couldn't find db");
	
	if (!$sql) {
	
	die ("cannot select database");
	
	} 

	
	$username = $_POST['username'];
	$password = $_POST['password'];

if ($username && $password)
{
		
	$query = mysql_query("SELECT * FROM userlogin WHERE username='$username' AND password='$password' ", $connection);
	
	$numrows = mysql_num_rows($query);
		
	if ($numrows > 0)
	{ 
	
		while ($row = mysql_fetch_assoc($query))
		{
			$dbusername =  $row['username'];
			$dbpassword =  $row['password'];
		
		}
		
		
		if($username == $dbusername && $password == $dbpassword)
		{
		 
			$_SESSION['login'] = 1;
			$_SESSION['username'] = $dbusername;
			$_SESSION['password'] = $dbpassword;

			
			
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'gamepage.php'";
			echo "</script>";
			
			
		
		} else
			echo "Incorrect password!";

			flush();
			session_destroy();
			sleep(30);
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'homepage.htm'";
			echo "</script>";
	
	}
	else
	die ("That user does not exist!");
	flush();
	session_destroy();
	sleep(30);
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'homepage.htm'";
			echo "</script>";
	
}
else 
die ("Please enter username and password");

	flush();
	session_destroy();
	sleep(30);
	
  header("Location:http://localhost/kinderkids/homepage.htm");
  
?>

เท่าที่ลองมาหน้านี้ก็ทำงานได้ดีค่ะ

// โค้ดสำหรับหน้าที่จะใช้ส่งคะแนนไปเก็บที่ database

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

<?php

session_start();

	$host = "localhost";
	$user = "root";
	$pass = "";
	$dbname = "kinderkids";
	$connection = mysql_connect($host, $user, $pass) or die ("cannot connect to DB");
	
		
	$sql = mysql_select_db($dbname,$connection) or die ("Couldn't find db");
	
	if (!$sql) {
	
	die ("cannot select database");
	
	} 


$score = ($_REQUEST['varScore']);

// ตรงนี้จะมีโค้ดในไฟล์แฟลชส่งคะเเนนมาค่ะ เคยลองทดสอบเเล้วส่งคะเเนนมาเก็บใน database ได้ไม่มีปัญหา

if ($score) {

$currentDate = date("Y-m-d");


$insertQuery = "INSERT INTO alphabet_tb (username,last_visit, score) VALUES ('$_SESSION['username']','$currentDate','$score' )";

mysql_query($insertQuery) or die(mysql_error);


} else 

echo "no score posted";

?>
ไม่เเน่ใจว่า ตรง insert :
$insertQuery = "INSERT INTO alphabet_tb (username,last_visit, score) VALUES ('$_SESSION['username']','$currentDate','$score' )";

ตรงที่เรียกใช้ $_SESSION['username'] รึปล่าวคะ เพราะตอนนี้ส่งคะเเนนไปเก็บไม่ได้


//โค้ดหน้า logout ที่มีปัญหา

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

<?php
session_start();


echo"Bye! See you next time";
flush();

session_destroy();

sleep(3);

echo"<script type = 'text/javascript'>";
echo"window.location = 'homepage.htm'";
echo"</script>";


?>
พอคลิ๊ก logout ก็มี error แบข้างล่างเนี่ยค่ะ


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\XAMPP\htdocs\kinderkids\logout.php:7) in C:\XAMPP\htdocs\kinderkids\logout.php on line 8
Bye! See you next time

เเต่ line 8 มันไม่มีอะไรค่ะ เป็น lineว่างๆ
พยายามลองอ่านในบอร์ดต่างๆแล้ว บางที่ก็บอกให้ใช้

ob_start(); บางที่ก็ให้ใช้ @ เเต่ก็ยังไม่ได้ค่ะ
ขอรบกวนพี่ๆช่วยหน่อยนะคะ ขอบคุณมากๆค่ะ
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

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

$_SESSION['username'] ใช้ใส่ไปในคำสั่ง sql แบบนั้นเลยไม่ได้ครับ ให้ใส่ {} ครอบลงไปด้วยครับ ดังนี้

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

INSERT INTO alphabet_tb (username,last_visit, score) VALUES ('{$_SESSION['username']}','$currentDate','$score' )
 
ส่วนหน้า logout

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

<?php
session_start();
session_destroy();
echo"Bye! See you next time";
sleep(3);
echo"<script type = 'text/javascript'>";
echo"window.location = 'homepage.htm'";
echo"</script>";
?>
เด็กอนุบาลหนึ่ง

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย เด็กอนุบาลหนึ่ง »

ขอบคุณมากเลยค่ะ เเต่ยังเเก้ไม่ได้เลย
มี error เหมือนเดิมเลยค่ะ
(เป็นไปได้รึปล่าวว่าโน๊ตบุคจะก๊อง :roll: )
จะลองพยายามดูอีกทีเเล้วกันนะคะ
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

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

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

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

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

$score = ($_REQUEST['varScore']);
ถ้าเป็นตัวเลข
$score = (int) $_REQUEST['varScore'];

เพิ่มข้อมูลไม่เข้า ลองเช็คโครงสร้าง ด้วยนะครับว่า กำหนด field ใดเป็น key หลักไว้
มีค่าซ้ำหรือเปล่า username


ส่วน Error
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\XAMPP\htdocs\kinderkids\logout.php:7) in C:\XAMPP\htdocs\kinderkids\logout.php on line 8
Bye! See you next time

ใช้ โปรแกรมอะไร เขียนโค้ดครับ
ติดตาม 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
เด็กอนุบาลหนึ่ง

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย เด็กอนุบาลหนึ่ง »

ขอยคุณสำหรับคำแนะนำค่ะ จะลองทำตามนะคะ :P

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

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

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

ถ้ายังมีปัญหา
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\XAMPP\htdocs\kinderkids\logout.php:7) in C:\XAMPP\htdocs\kinderkids\logout.php on line 8
Bye! See you next time
ลอง zip ไฟล์ 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
ภาพประจำตัวสมาชิก
ecitepage.com
PHP Sr. Member
PHP Sr. Member
โพสต์: 52
ลงทะเบียนเมื่อ: 09/10/2010 2:54 pm
ติดต่อ:

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

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

ที่เคยเจอเป็นเพราะ มีตัวอักษรไม่มีรูปร่าง อยู่ในไฟล์
หรือ สร้างไฟล์ ไม่ถูกรูปแบบ ง่ะ
ประกาศซื้อขาย การดูแล บ้านคอนโด
http://www.ecitepage.com
เด็กอนุบาลหนึ่ง

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย เด็กอนุบาลหนึ่ง »

ไปเรียนมาเลยตอบช้าหน่อย
ขอลองเช็คอีกครั้งเเล้วกันนะคะ เมื่อเช้าลองแก้ดูยังไม่ได้
ตอนนี้เริ่มงงๆเพราะอยู่ดีๆก็ login เข้าหน้าหลักไม่ได้เฉยเลย
ไว้จะมาโพสโค้ดช่วงค่ำๆนะคะ
ขอบคุณทุกความช่วยเหลือมากๆเลยค่ะ
เด็กอนุบาลหนึ่ง

Re: มีป้ญหาเรื่องการใช้ session ค่ะ

โพสต์ที่ยังไม่ได้อ่าน โดย เด็กอนุบาลหนึ่ง »

มาเเล้วค่ะ
ขอบรบกวนถามก่อนนะคะ ตอนนี้งงไปหมดเลย
คือว่าเว็บตอนนี้ login ไม่ได้ทั้งๆเมื่อวานยัง login ได้
คือเเทนที่จะลิ๊งค์ไปหน้าหลัก มันกลับมาหน้า login เฉยเลย
พอเปลี่ยนเอาโค้ดเก่ามาใส่ โดยที่ไม่ให้มีลิ๊งค์กลับมาที่หน้า login เเต่พอลองเปิดเเล้ว login มันก็ยังกลับมาได้อีกอ่ะค่ะ
แบบนี้เป็นปัญหาที่โค้ดหรือที่ลิ๊งค์คะ

นี่คือโค้ดหน้า login ค่ะ

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


<?php
session_start();

	
	$host = "localhost";
	$user = "root";
	$pass = "";
	$dbname = "kinderkids";
	$connection = mysql_connect($host, $user, $pass) or die ("cannot connect to DB");
	
	
	$sql = mysql_select_db($dbname,$connection) or die ("Couldn't find db");
	
	if (!$sql) {
	
	die ("cannot select database");
	
	} 

	
	$username = $_POST['username'];
	$password = $_POST['password'];
	
	$_SESSION['username'] = $username;
	$_SESSION['password'] = $password;
	
if ($username && $password)
{
		
	$query = mysql_query("SELECT * FROM userlogin WHERE username='$username' AND password='$password' ", $connection);
	
	$numrows = mysql_num_rows($query);
		
	if ($numrows > 0)
	{ 
	
		while ($row = mysql_fetch_assoc($query))
		{
			$dbusername =  $row['username'];
			$dbpassword =  $row['password'];
		
		}
		
		
		if($username == $dbusername && $password == $dbpassword)
		{
		 
			$_SESSION['login'] = 1;
			
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'gamepage.php'";
			echo "</script>";
						
		
		} else
			echo "Incorrect password!";
			session_destroy();
			sleep(3);
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'homepage.htm'";
			echo "</script>";
	
	}
	else
	die ("That user does not exist!");
	session_destroy();
	sleep(3);
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'homepage.htm'";
			echo "</script>";
	
}
else 
die ("Please enter username and password");
	session_destroy();
	sleep(3);
	
			echo "<script type = 'text/javascript'>";
			echo "window.location = 'homepage.htm'";
			echo "</script>";
?>

ปัญหาเก่ายังแก้ไม่ได้ปัญหาใหม่มาอีกแล้ว ขอรบกวนด้วยนะค๊าา
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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