รบกวนผู้รู้หน่อยค่ะ จากบทความนี้ มีปัญหาอยากรบกวนถามค่ะ
เอาโค้ดของคุณมาดูครับ
Date :
2013-02-17 13:27:07
By :
arm8957
ตอบความคิดเห็นที่ : 2 เขียนโดย : mangkunzo เมื่อวันที่ 2013-02-17 13:56:27
รายละเอียดของการตอบ ::
ขอโทดทีค่ะพี่ ที่หนูไม่ได้บอกพี่ พอดีอันนี้หนูลองทำเหมือนเค้าเปี้ยบเลยค่ะ ฐานข้อมูลก้อของเค้าเลย แต่อันโน้นหนู้เปลี่ยนนั่นเปลี่ยนนี้เลย error แต่อันนี้ไม่ error แต่มันขึ้น Username and Password Incorrect! ตลอดเลยหลังจากที่เราป้อน username password ใส่ถูกใส่ผิดก้อขึ้นเหมือนกัน
Code (ตาราง)
CREATE TABLE `member` (
`UserID` int(3) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Name` varchar(100) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM AUTO_INCREMENT=3 ;
--
-- Dumping data for table `member`
--
INSERT INTO `member` VALUES (001, 'win', 'win123', 'Weerachai Nukitram', 'USER');
INSERT INTO `member` VALUES (002, 'chai', 'chai123', 'Surachai Sirisart', 'ADMIN');
หน้า login.php
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorials</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>
หน้า check_login.php
Code (PHP)
<?
session_start();
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'
and Password = '".trim($_POST['txtPassword'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Username and Password Incorrect!";
}
else
{
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
mysql_close();
?>
Date :
2013-02-17 14:06:40
By :
nongtoom
ลองใส่ mysql_query("SET NAMES UTF8"); หรือยังครับ เผื่อคุณใส่ภาษาไทย
Date :
2013-02-17 14:12:52
By :
Ex-[S]i[L]e[N]t
Code (PHP)
<?
session_start();
echo $Username=trim($_POST['Username']);
echo $Password=trim($_POST[Password]);
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM member WHERE Username = '".$Username."'
and Password = '".$Password."'";
$objQuery = mysql_query($strSQL);
echo $num_rows=mysql_num_rows($objQuery);
$objResult = mysql_fetch_array($objQuery);
if($num_rows==1)
{
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];
}
else
{
echo "Username and Password Incorrect!";
}
mysql_close();
?>
ลองดู num_row หาจำนวนถูกมั้ย และสามารถสร้าง session ได้มั้ย
Date :
2013-02-17 14:29:34
By :
Ex-[S]i[L]e[N]t
คุณได้ INSERT ข้อมูลเข้าไปแล้วใช่มั้ยครับ
ประวัติการแก้ไข 2013-02-17 14:37:40
Date :
2013-02-17 14:34:14
By :
cookiephp
ถามย้ำ Code เหมือนเป๊ะ ไม่ได้แก้ไข อะไรเลยใช่ไหม
แล้วมัน ขึ้นคำว่า
Username and Password Incorrect!
ถูกต้องใช้ไหมครับ ที่ถามอีกเพื่อความแน่ใจ
งั้นมี ข้อแนะนำ ลองตรวจดูนะครับ
1. ลอง echo ค่าตัวแปร ทั้งหมดออกมาดู ว่ามันเป็นจริงอย่างที่เราคิดไหม
2. ตอนทดสอบพิมพ์ username / password มันตรงกับ database แน่แล้วนะครับ ลองเช็คใน DB มันตัวอักษรเหมือนไหม มีช่วงว่า (เคาะ SpaceBar) อยู่หรือเปล่า
3. ถ้าเป็นแบบนี้ ค่าตัวใดตัวนึงมันไม่เป็นอย่างที่คิด ต้องไล่ Syntax ใหม่หมดดีกว่าครับ
ถ้ายังไม่ผ่าน รบกวนเอา code ทั้งหมด มาโพสต์ อย่าลืมใส่แท็ก PHP คลิกที่รูป PHP ด้านบน แล้วมันจะได้แท็ก เอา Code ไปวาง มันจะมีสีขึ้นเวลาโพสต์ ด้วยจะได้อ่านง่าย
1. ดึง sql จาก DB ออกมาใหม่
2. เอา Code ทั้ง 2 หน้ามาโพสต์...
ถ้าไม่ได้จริง ๆ ให้ตามมาเตะเลย 555+
Edit ล่าสุด 15.05 น. เอา Code ไป test แล้วไม่มีปัญหาอะไรเบยง๊าฟฟฟฟฟฟฟ
ประวัติการแก้ไข 2013-02-17 14:48:18 2013-02-17 14:52:00 2013-02-17 15:05:40
Date :
2013-02-17 14:45:16
By :
apisitp
ออกแนว sql injection hack ใช่มั้ยครับ
Date :
2013-02-17 15:24:09
By :
Ex-[S]i[L]e[N]t
แล้วจขกท.ก็ไม่มาตอบสักที ว่ายังไง
Date :
2013-02-17 15:32:23
By :
cookiephp
ตอบความคิดเห็นที่ : 8 เขียนโดย : apisitp เมื่อวันที่ 2013-02-17 14:45:16
รายละเอียดของการตอบ ::
เหมือนเป๊ะๆเลยค่ะพี่ต้นกล้า เปลี่ยนแค่ mysql_connect("localhost","root","1234"); mysql_select_db("abj"); ตรงนี้เองค่ะ
Code (PHP)
Code (SQL)
--
-- โครงสร้างตาราง `member`
--
CREATE TABLE `member` (
`UserID` int(3) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(20) NOT NULL,
`Password` varchar(20) NOT NULL,
`Name` varchar(100) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- dump ตาราง `member`
--
INSERT INTO `member` VALUES (001, 'win', 'win123', 'Weerachai Nukitram', 'USER');
INSERT INTO `member` VALUES (002, 'chai', 'chai123', 'Surachai Sirisart', 'ADMIN');
หน้า login.php
<html>
<head>
<title>ThaiCreate.Com Tutorials</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>
หน้า check_login.php
Code (PHP)
<?
session_start();
mysql_connect("localhost","root","1234");
mysql_select_db("abj");
$strSQL = "SELECT * FROM member WHERE Username = '".trim($_POST['txtUsername'])."'
and Password = '".trim($_POST['txtPassword'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Username and Password Incorrect!";
}
else
{
$_SESSION["UserID"] = $objResult["UserID"];
$_SESSION["Status"] = $objResult["Status"];
session_write_close();
if($objResult["Status"] == "ADMIN")
{
header("location:admin_page.php");
}
else
{
header("location:user_page.php");
}
}
mysql_close();
?>
แล้วก้อหนูลอง echo ค่าออกมาแล้วในหน้า check_login.php มันไม่ขึ้นไรเลยค่ะ รบกวนพี่ด้วยนะค่ะ
Date :
2013-02-17 15:37:39
By :
nongtoom
หน้า check_login.php
ตรงบรรทัดที่ 11 echo "Username and Password Incorrect!";
เพิ่มโค้ดหลังบรรทัดนั้นตามนี้
echo mysql_error();
echo "<pre>";
print_r($_POST);
echo $strSQL;
ลองรันอีกที แล้วช่วยบอกว่ามันขึ้นว่าอะไรครับ
Date :
2013-02-17 16:00:38
By :
cookiephp
ได้แล้วค่ะ คือหนูลบใหม่อันเก่าหมดแล้วทำใหม่ค่ะ ก้อเลยได้ ขอบคุณทุกคนมากกกกกกกกกกกกกกกค่ะ
Date :
2013-02-17 21:07:55
By :
nongtoom
Date :
2013-02-18 06:02:44
By :
mr.win
...
ประวัติการแก้ไข 2013-02-20 10:40:38
Date :
2013-02-19 15:17:57
By :
cookiephp
ไม่เป็นไรครับ มีถูกใจบ้างไม่ถูกใจบ้างอย่าไปถือสาเลยครับ เราเป็นผู้ใหญ่ก็วางเฉยเพียงแต่น้องเค้าเข้าใจเราผิดเท่านั้นเอง
Date :
2013-02-19 16:56:05
By :
sakuraei
ถ้าอย่างนั้นก็ลบที่น้องเค้าเขียนมาเถอะครับถ้ามึคนมาอ่านกระทู้นี้ภายหลัง จะรู้สึกไม่ค่อยสบายใจ
Date :
2013-02-19 17:11:06
By :
sakuraei
ผมจัดการเองครับ
ประวัติการแก้ไข 2013-02-19 17:14:43
Date :
2013-02-19 17:13:33
By :
Ex-[S]i[L]e[N]t
วันนี้วุ่นทั้งวันเลย กำลังกังวลเรื่อง Server อยู่ครับ
Date :
2013-02-19 17:19:16
By :
mr.win
ใจเย็นๆ
Date :
2013-02-19 23:59:10
By :
apisitp
ขอโทษทุกคนด้วยล่ะกันครับ
หากที่ผมทำไปมันไม่ดี มันก็ไม่ดีน่ะแหละผมทราบ แต่ผมไม่ชอบจริงๆ มันอดไม่ได้
เพราะหากสักวันอะไรที่ผมตอบ ความคิดที่ผมคิด ข้อความที่ผมเขียนเองคิดเองทุกตัวอักษร
มันถูกคนอื่นเอาไปอ้างเป็นของตัวเอง โดยไม่ให้เครดิต มารู้ทีหลังมันก็คงเจ็บใจอ่ะครับ
ขอโทษที่จริงจังกับเรื่องนี้มากไปหน่อย
แต่ก็ดีครับ ที่ได้รู้ว่ามีคนที่ไม่ชอบผมอยู่
ถามจริงๆ ผมดูเป็นคนแย่ ไม่น่าคบขนาดนั้นเลยเหรอครับ
ผมดูถูกคนเหรอครับ
น่าน้อยใจนะครับ เพราะผมว่าหลายๆ คนก็รู้ว่าผมตอบคำถามยังไง
ผมเก่งหรือเปล่าผมไม่รู้หรอก
แต่ผมตอบเต็มที่ แนะนำตั้งแต่พื้นฐาน อธิบายเต็มที่
เพราะผมทุ่มเทแบบนั้น บางทีก็ทำให้ผมแบบรำคาญคนที่ไม่พยายาม ทั้งๆ ที่ช่วยมากแล้ว
เลยอาจจะมีประชดประชันหรือต่อว่าไปบ้าง ผมขอโทษ
ที่ผมทำไปทั้งหมดผมไม่น่าคบใช่มั้ยครับ
Date :
2013-02-20 10:40:01
By :
cookiephp
ผมก็ขอลบส่วนของผมเหมือนกัน
ถือว่าไม่มีอะไรเกิดขึ้นแล้วกันครับ
ขอโทษทุกคนอีกครั้งครับ
Date :
2013-02-20 10:41:29
By :
cookiephp
แต่ขอถามคุณแฟนคลับหน่อย ที่ดูผมมาสองอาทิตย์เนี่ย
ที่ผมต่อว่าคนอื่น หรือปากเสีย กับที่ผมตอบ อันไหนมันเยอะกว่ากันครับ อย่างไหนมีประโยชน์กว่ากัน
เอาจริงๆ จนถึงตอนนี้ ผมไม่เข้าใจว่าผมดูถูกคนตรงไหน
ถ้ามันเพราะเห็นผมเคยต่อว่าคนที่ไม่พยายาม แล้วเอามาตัดสินว่าผมดูถูกคน มันไม่เกินไปหน่อยเหรอครับ
พูดมาได้เลยครับ ถ้าคิดว่าผมไม่ควรมาตอบที่นี่ ไม่อยากได้ เพราะผมมันชอบดูถูกคน
ผมก็จะไม่มาให้เห็นอีกครับ ผมไม่หน้าด้านหรอก
ผมไม่สบายใจเหมือนกันหากเวลาผมตอบ แล้วจะมีคนคอยหาว่าผมดูถูกคน ทั้งๆ ที่ผมไม่เคยมีความคิดแบบนั้นเลยในหัว
Date :
2013-02-20 10:51:19
By :
cookiephp
ใจเย็น ๆ กันครับ
Date :
2013-02-20 10:56:51
By :
mr.win
ใจเย็น ๆครับ
ใช้สติ อย่าเอาอารมณ์มาเป็นที่ตั้ง เขาไม่รู้จักตัวตนของเรา เท่ากับเราหรอก
ห้ามคนอื่นพูดเราไม่ได้ เราก็ห้ามเราดูได้ ก็ห้ามเราเองแหละดีที่สุด
เรื่องบางเรื่อง .. มันหยุมหยิม ก็อย่าเอามาคิดให้รกหมองดีกว่าครับ เอาเวลาเครียด ไปหัดเล่น Extjs แล้วมาเขียนบทความสอนดีกว่าครับ
คริ คริ
Date :
2013-02-20 11:14:19
By :
deawx
ขอปิดกระทู้น่ะครับ
ปล. ท่านใดอยากให้ลบอะไรก็ PM มาน่ะครับ จะได้สบายใจ
Date :
2013-02-20 11:18:18
By :
mr.win
Load balance : Server 02