กลับมาอีกครั้งหลังจากหายไปนาน ตอนนี้กำลังเริ่มใส่โค้ดเกี่ยวกับ 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";
?>
$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>";
?>
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(); บางที่ก็ให้ใช้ @ เเต่ก็ยังไม่ได้ค่ะ
ขอรบกวนพี่ๆช่วยหน่อยนะคะ ขอบคุณมากๆค่ะ