<script>alert แล้วเป็นภาษาต่างดาวอะครับ พอใส่ UTF-8 มันก็ Error ช่วยดูให้ทีครับขอบคุนมาก
ลองใส่ mysql_query("SET NAMES UTF8"); ใต้ mysql_connect("localhost","root","1234");
Date :
2015-10-20 11:23:04
By :
programmua
ยังเป็นภาษาต่างดาว เหมือนเดิมเลยครับ
Date :
2015-10-20 11:27:22
By :
hexer01
ถ้าผมใส่ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> บน <?php session_start();
มันเป็นภาษาไทย แต่มันerrorขึ้น Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\project2\check_login.php:2) in C:\AppServ\www\project2\check_login.php on line 3
ประวัติการแก้ไข 2015-10-20 11:31:56
Date :
2015-10-20 11:30:55
By :
hexer01
session_start ต้องอยู่ก่อนการส่งข้อมูลให้ client
Code (PHP)
<?php session_start();?>
<!doctype html>
<html>
<head>
<meta charset="utf-8" >
<title>ทดสอบภาษาไทย</title>
</head>
<body>
55555 ฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่า
</body>
</html>
Date :
2015-10-20 13:03:35
By :
NewbiePHP
เอา UTF-8 ไปวางไหนก็ error อะคับ
Parse error: syntax error, unexpected '<' in C:\AppServ\www\project2\check_login.php on line 6
Date :
2015-10-20 13:31:14
By :
hexer01
โค๊ดมัน ผิดไวยกรณ์ ก็เอามาดูหน่อยครับ เขียนไว้อย่างไร แค่บอกแบบนี้แล้วใครจะช่วยได้ครับ
เอามาแต่ error เขาก็คงเดากันออกมั้งครับว่าผิดตรงไหน
เอ้อเหนื่อยใจจริงๆ
Date :
2015-10-20 14:38:51
By :
NewbiePHP
ได้ลองแบบนี้หรือยังครับ
mysql_select_db("project2");
mysql_set_charset("utf8");
Date :
2015-10-20 14:56:12
By :
zadstoms
Check_login.php
<?
ob_start();
session_start();
include 'config.php';
mysql_set_charset("utf8");
$strSQL = "SELECT * FROM members WHERE username = '".mysql_real_escape_string($_POST['txtUsername'])."'
and password = '".mysql_real_escape_string($_POST['txtPassword'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo"<script>alert('ชื่อผู้ใช้ หรือ รหัสผ่านไม่ถูกต้อง');history.back();</script>";
exit();
}
else
{
$_SESSION["member_id"] = $objResult["member_id"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
mysql_close();
ob_end_flush();
?>
ประวัติการแก้ไข 2015-10-20 15:18:05
Date :
2015-10-20 15:16:16
By :
hexer01
User_page.php
<?php
session_start();
include 'config.php';
$strSQL = "SELECT * FROM members WHERE member_id = '".$_SESSION['member_id']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
Welcome to User Page! <br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td width="87"> Username</td>
<td width="197"><?php echo $objResult["username"];?>
</td>
</tr>
<tr>
<td> Name</td>
<td><?php echo $objResult["m_name"];?></td>
</tr>
</tbody>
</table>
<br>
<a href="edit_profile.php">Edit</a><br>
<br>
<a href="logout.php">Logout</a>
</body>
</html>
Date :
2015-10-20 15:21:47
By :
hexer01
Admin_page.php
<?php
session_start();
include 'config.php';
$strSQL = "SELECT * FROM members WHERE member_id = '".$_SESSION['member_id']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<html>
<head>
<title>ThaiCreate.Com Tutorials</title>
</head>
<body>
Welcome to Admin Page! <br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td width="87"> Username</td>
<td width="197"><?php echo $objResult["username"];?>
</td>
</tr>
<tr>
<td> Name</td>
<td><?php echo $objResult["m_name"];?></td>
</tr>
</tbody>
</table>
<br>
<a href="edit_profile.php">Edit</a><br>
<br>
<a href="logout.php">Logout</a>
</body>
</html>
Date :
2015-10-20 15:22:24
By :
hexer01
Form Login.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form name="form1" method="post" action="check_login.php">
Login<br>
<table border="1" style="width: 300px">
<tbody>
<tr>
<td> Username</td>
<td>
<input name="txtUsername" type="text" id="txtUsername">
</td>
</tr>
<tr>
<td> Password</td>
<td><input name="txtPassword" type="password" id="txtPassword">
</td>
</tr>
</tbody>
</table>
<br>
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>
Date :
2015-10-20 15:23:36
By :
hexer01
ทั้ง input และ output ต้องกำหนด mysql_set_charset("utf8");
ดังนั้นเอามันไปไว้ใน ไฟล์ config.php เลยครับ
มันต้องทำเหมือนกับ mysql_connect นั่นเลยทีเดียว แค่ทำตามหลัง mysql_select_db ครับ
ส่วนของเก่า ที่ insert update เข้าไปเป็น ภาษาไทย คงต้องทำการ update ใหม่
เพราะตอนเอาเข้าไปมันเอาเข้าผิด ก็จะแสดงผลออกมาผิดเหมือนกัน
Date :
2015-10-20 15:34:50
By :
NewbiePHP
แบบนี้หรอครับ มันก็ยังเป็นต่างเด้า
<?php
$host = "localhost";
$us = "root";
$pw = "1234";
$db = "project2";
$link = mysql_connect($host,$us,$pw)or die ("Could not connect to MySQL");
mysql_select_db($db)or die ("Could not connect to Database");
mysql_set_charset("utf8");
?>
Date :
2015-10-20 15:47:06
By :
hexer01
ผมเอาไปใส่ไว้ข้างบนมันเป็นภาษาไทย แล้วคับ แต่ขึ้น
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\project2\check_login.php:2) in C:\AppServ\www\project2\check_login.php on line 4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?
ob_start();
session_start();
include 'config.php';
$strSQL = "SELECT * FROM members WHERE username = '".mysql_real_escape_string($_POST['txtUsername'])."'
and password = '".mysql_real_escape_string($_POST['txtPassword'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo"<script>alert('เเเเกเฟฟดฟไดเเเเเเเ');history.back();</script>";
exit();
}
else
{
$_SESSION["member_id"] = $objResult["member_id"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
mysql_close();
ob_end_flush();
?>
ประวัติการแก้ไข 2015-10-20 16:03:09 2015-10-20 16:03:14
Date :
2015-10-20 16:02:28
By :
hexer01
อาวกำได้แล้วครับ ผมลองเอาไปใส่ใน config.php เจือกได้เฉยเลย ขอบคุนทุกคนคับ NewbieXYZ programmua TommY
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
$host = "localhost";
$us = "root";
$pw = "1234";
$db = "project2";
$link = mysql_connect($host,$us,$pw)or die ("Could not connect to MySQL");
mysql_select_db($db)or die ("Could not connect to Database");
mysql_query("SET NAMES UTF8");
?>
ประวัติการแก้ไข 2015-10-20 16:16:03
Date :
2015-10-20 16:10:20
By :
hexer01
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?
ob_start();
session_start();
include 'config.php';
ตรงนี้ที่เออเร่อร์ เพราะคุณ เอา tag meta ไว้ก่อน session
ต้องเอาไว้หลัง session ครับ
การที่คุณเอาเอาไปไว้ใน config.php ทำให้ tag meta ทำงานหลัง session_start ถึงใช้ได้
แล้วจะให้ดี ให้คุณ เอา session_start มาไว้ก่อน ob_start
แล้วที่นี้ การใช้ ob_start และ ob_end_flush อยู่ท้ายโปรแกรม ก็ไม่ได้ประโยชน์ ที่จะใช้
การส่ง result ให้ client ก็ออกมาเป็นตาม step ปรกติ ไม่ได้ มีอะไรพิเศษ
ลองศึกษาแล้วใช้ประโยชน์จากมันให้เต็มที่ครับ
http://php.net/manual/en/function.ob-end-flush.php
สรุป ob_start(); ไม่ได้มีประโยชน์ในโปรแกรมของคุณเลยครับ
Date :
2015-10-20 16:31:05
By :
NewbiePHP
Load balance : Server 04