ปัญหาเรื่องการล็อคอินค่ะ

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

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

teddydancing
PHP Newbie
PHP Newbie
Posts: 4
Joined: 11/11/2008 12:07 am

ปัญหาเรื่องการล็อคอินค่ะ

Post by teddydancing » 24/12/2008 3:21 am

กำลังหัดเขียนเว็บด้วย PHP ตามหนังสือเล่มนึงค่ะ ใช้ Appserv 2.5.10

เจอปัญหามากมาย ไม่รู้จะไปถามใคร อยากรบกวนผู้รู้ช่วยตอบทีนะคะ

อย่างแรกเลย เจอปัญหาเรื่องการล็อคอินค่ะ

เป็นการล็อคอินด้วย admin อ่ะค่ะ คือว่าได้ไปเพิ่ม record ในตาราง admin ซึ่งประกอบด้วย field username และ password

ใส่ค่า username เป็น admin และ password เป็น admin ดังรูปค่ะ (password มีการ encrypt ด้วย function PASSWORD)

http://img399.imageshack.us/my.php?imag ... minrq8.jpg

แต่พอเอา username กับ password ดังกล่าวไป ล็อคอิน ปรากฏว่า ล็อคอินไม่ได้อ่ะค่ะ ไม่ทราบว่าเป็นเพราะอะไรหรอคะ

นี่เป็นโค้ดของไฟล์ที่เกี่ยวข้องค่ะ

if(!empty($username) && !empty($password))
{
if(login($username,$password,'onlinetextbook','admin'))
{
$authuser=$username;
session_register("authuser");
}
else
{
header_html("เกิดปัญหา");
echo "<tr align=center><td><font face = \"MS Sans Serif\" color=\"#000000\" size=\"3\">คุณไม่สามารถเข้าสู่ระบบได้ </font></td></tr>";
}
บลาๆๆ
--------------------------------------------------------------------
function login($username,$password,$databasename,$tablename)
/*ตรวจสอบ username และ password กับฐานข้อมูล
ถ้าพบให้คืนค่าเป็นจริง หากไม่พบให้คืนค่าเป็นเท็จ
*/
{
//เชื่อมโยงฐานข้อมูล
$con = connect_db($databasename);
if(!$con)
return 0;
//ตรวจสอบ username ว่าซ้ำกับในฐานข้อมูลหรือไม่
$sql = "select * from $tablename where username='$username' and password=password('$password')";
$result = mysql_query($sql);
if(!$result)
return 0;
if(mysql_num_rows($result)>0)
return 1;
else
return 0;
}
---------------------------------------------------------------
<?
function connect_db($database) //ติดต่อกับฐานข้อมูล
{
$result = mysql_connect("localhost","root","nui") or die("การเชื่อต่อกับฐานข้อมูลล้มเหลว");
if(!$result)
return false;
if(!mysql_select_db($database))
return false;
return $result;
}
?>
--------------------------------------------------------------------
คือหนูไม่แน่ใจว่ามีตรงไหนที่ผิดบ้างอ่ะค่ะ รบกวนผู้รู้ช่วยดูทีนะคะ ขอบคุณค่ะ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22235
Joined: 22/09/2008 6:18 pm
Contact:

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by mindphp » 24/12/2008 6:24 am

ถ้ามั่นใจ ว่า ติดต่อฐานข้อมูล และ เลือก ฐานข้อมูลได้แล้ว
ลอง ดู
$sql = "select * from $tablename where username='$username' and password=password('$password')";
echo $sql แล้ว ลองเอา ไปรันกับ phpMyadmin ดูครับ

และเรื่อง session ถ้าใช้ php5 ไม่ได้ใช้ session_register แล้วครับ
ใช้ในรูปแบบ $_SESSION['xxxxxxx'] = 'xxxxxxxxxx'; แทนเลยครับ
หนังสือที่ใช้คงเก่าไปหน่อยนะครับ
ติดตาม 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

teddydancing
PHP Newbie
PHP Newbie
Posts: 4
Joined: 11/11/2008 12:07 am

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by teddydancing » 24/12/2008 8:48 am

ลองดูแล้วมัน echo ออกมาว่า select * from admin where username='admin' and password=PASSWORD('admin')

ซึ่งมันก็ตรงกับในฐานข้อมูล

$_SESSION['xxxxxxx'] = 'xxxxxxxxxx';

['xxxxxxx'] กับ 'xxxxxxxxxx' คืออะไรหรอคะ คือหนูเพิ่มเริ่มหัด ยังรู้อะไรไม่มาก

หนังสือที่อ่าน ใช้ PHP 4 ค่ะ

แล้วนอกจากเรื่อง Session แล้ว ยังมีเรื่องไหนที่เปลี่ยนใหม่อีกมั้ยคะ

ขอบคุณสำหรับคำแนะนำค่ะ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22235
Joined: 22/09/2008 6:18 pm
Contact:

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by mindphp » 24/12/2008 10:40 am

เปลี่ยนไป หลาย เรื่อง เลยครับ เคยมีกระทู้เก่าๆ ที่เคยพูดเรื่องนี้กันแล้วลองค้นดูครับ
แนะนำให้ศึกษา เป็น php5 ไปเลยครับ
ติดตาม 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

teddydancing
PHP Newbie
PHP Newbie
Posts: 4
Joined: 11/11/2008 12:07 am

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by teddydancing » 26/12/2008 3:23 am

รบกวนถามอีกรอบนะคะ

คือว่าหนูลอง echo ค่าของ PASSWORD('$password') ใน function login ตรงส่วนนี้ออกมา
$sql = "select * from $tablename where username='$username' and password=PASSWORD('$password')";
กะว่าจะลองเปรียบเทียบกับใน db ดูว่าได้ค่าเท่ากันมั้ย

ปรากฎว่ามันขึ้น error ว่า Fatal error: Call to undefined function PASSWORD() in C:\AppServ\www\sub\function.php on line 11

สรุปคือที่ล็อคอินไม่ได้นี่ เป็นเพราะมันไม่รู้จัก function PASSWORD รึเปล่าคะ

และหนูก็ยังลอง query ใน phpMyAdmin หา username='admin' ในตางราง admin ก็หาเจอนะคะ

แต่พอลองหา password=password('admin') กลับไม่เจอซัก row เลยอ่ะค่ะ

หนูควรทำไงดี :(

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22235
Joined: 22/09/2008 6:18 pm
Contact:

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by mindphp » 26/12/2008 12:55 pm

function PASSWORD() ท่ใช้อยู่ตอนนี้มันเป็น function ของ mysql นะครับ ไม่ใช่ของ 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

teddydancing
PHP Newbie
PHP Newbie
Posts: 4
Joined: 11/11/2008 12:07 am

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by teddydancing » 26/12/2008 4:29 pm

แล้วต้องแก้ไขยังไงอ่ะคะ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22235
Joined: 22/09/2008 6:18 pm
Contact:

Re: ปัญหาเรื่องการล็อคอินค่ะ

Post by mindphp » 26/12/2008 10:46 pm

[quote="mindphp"]
ลอง ดู
$sql = "select * from $tablename where username='$username' and password=password('$password')";
echo $sql แล้ว ลองเอา ไปรันกับ phpMyadmin ดูครับ
[/quote]
ถ้าได้ข้อมูลออกมา ก็แสดงว่าใช้ได้
ถ้าไม่ได้ ลองเอาคำสั่งนี้ไปรันดู SELECT password( 'admin' )
ว่าได้ข้อมูลตรงกันข้อมูลที่เราตั้งเป็น password ของ admin ไว้หรือเปล่า
ติดตาม 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

Post Reply

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 66 guests