http://www.narisa.com/forums/index.php?showtopic=25971
ก็โอเคนะ
แต่ว่าทดลองดัดแปลง ไปใช้ class สำหรับ connect database ที่ตัวผมเองมีอยู่แล้ว
ก็ปรากฏว่ามีปัญหา error ดังนี้
ซึ่งปกติ แล้ว ถ้าใช้ งาน class เหล่านี้ ก็ปกติ ดีนะคับWarning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at I:\www\cityblog\blog\lib\query.class.php:1) in I:\www\cityblog\login_check.php on line 14
แต่นี่ผมยังไม่ทันเรียกใช้เลยแค่ include มาก็ error ซะแล้วครับ
ผมคิดว่า ติดปัญหาตรงการ include นี่แหล่ะ ซึ่งผมไม่รู้ว่าเป็นเพราะอะไร
login_check.php
ajaxtest.php<?
include "./blog/lib/config.inc.php" ;
include "./blog/lib/query.class.php" ;
include "./blog/lib/account.class.php" ;
$username= $_POST['username'];
$password_login = $_POST['password'];
// การใช้งานฐานข้อมูล MySQL
$hostname = "localhost"; //ชื่อฐานข้อมูล
$user = "root"; //รหัสผู้ใช้
$password = "1234"; //รหัสผ่าน
$dbname = "cityblog"; //ชื่อฐานข้อมูล
$tblname = "blog_account"; //ชื่อตาราง
session_start();
session_register("ACCOUNT");
// การติดต่อฐานข้อมูล MySQL
mysql_connect($hostname, $user, $password) or die("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
// เชื่อต่อฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
// เลือกฐานข้อมูล
$charset = "SET character_set_results=utf8";
mysql_query($charset) or die('Invalid query: ' . mysql_error());
$cs1 = "SET character_set_results=utf8";
mysql_query($cs1) or die('Error query: ' . mysql_error());
$cs2 = "SET character_set_client = utf8";
mysql_query($cs2) or die('Error query: ' . mysql_error());
$cs3 = "SET character_set_connection = utf8";
mysql_query($cs3) or die('Error query: ' . mysql_error());
$sql = "select * from $tblname where username='$username' and password='$password_login'";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
if($num_rows==1){
print ('OK');
}else {
print ('Fail');
}
?>
ajaxlogintest.php<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<Title> LOGIN</Title>
<style type="text/css">
<!--
body,td,th {
font-family: MS Sans Serif, Microsoft Sans Serif, Tahoma;
font-size: 10pt;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<BODY>
<? include("ajaxlogintest.php");?>
</BODY>
</HTML>
<script language="javascript" src="./blog/js/prototype.js"></script>
<script LANGUAGE="JavaScript">
<!--
Event.observe(window, 'load', function() {
Event.observe('loginForm', 'submit', handleSubmit);
});
function handleSubmit(evt) {
Event.stop(evt);
var url="login_check.php";
//var url="login_check.php";
var data=Form.serialize("loginForm");
var myAjax = new Ajax.Request(
url,
{method: 'post', parameters: data, onSuccess: function(resp) {$('showtext').update(resp.responseText+"<br>");}}
);
//document.commentForm.ctext.value="";
}
//-->
</SCRIPT>
<FORM id="loginForm" METHOD=POST ACTION="">
<div id="showtext"></div>
<TABLE>
<TR>
<TD>User</TD>
<TD><INPUT TYPE="text" NAME="username"></TD>
</TR>
<TR>
<TD>Password</TD>
<TD><INPUT TYPE="password" NAME="password"></TD>
</TR>
<TR>
<TD></TD>
<input type="submit" name="Button" value="เพิ่ม" >
</TR>
</TABLE>
</FORM>
ตัวอย่างไฟล์ config.inc.php
query.inc.php<?
$HOST='localhost';
#$USERNAME='itgserve'; $PASSWORD='440201'; $DBNAME='itgserve_db';
#$USERNAME='root'; $PASSWORD=''; $DBNAME='cityblog';
$USERNAME='root'; $PASSWORD='1234'; $DBNAME='cityblog';
# PreDefineTable --------------------------------------------------------------------------------
$tablePrefix = '';
$tbl_Account = 'account';
$tbl_Content = 'contents';
$tbl_Category = 'categories';
$tbl_Weblink = 'weblink';
$tbl_ContentSubject = 'contents_subj';
account.inc.php<?
require("mysql.class.php");
class Query extends MySql{
var $MysqlObj;
var $QueryStr;
var $QueryStatus=1;
function Query(){
MySql::mysql();
}
function GetData($Table,$Field,$Conditions="",$Other=""){
$this->QueryStr=" SELECT ".$Field." FROM ".$Table;
if ( $Conditions != '' )
$this->QueryStr.=" WHERE ".$Conditions;
if ( $Other != '' )
$this->QueryStr.= " ".$Other;
MySql::SqlQuery($this->QueryStr);
}
<?
require("error.class.php");
class Account extends Error{
var $UserId;
var $GroupId;
var $Username;
var $Password;
var $UserGroup;
var $UserType;
var $UserStatus;
var $Key;
var $Member_no;
var $Expire;
var $ErrorList = array();
function Account($username,$password){
$this->Username=$username;
$this->Password=$password;
}
function AccountChecking(){
$username = $this->Username;
$password = $this->Password;
$obj = new Query();