Thaiadmin

รบกวนขอ Code PHP ในการทำ login โดยการตรวจสอบจากฐานข้อมูล

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

KermiT

รบกวนขอ Code PHP ในการทำ login โดยการตรวจสอบจากฐานข้อมูล 

เนื่องจากผมจำเป็นต้องใช้ในการทำงานและลองทำตามหนังสือดูแล้ว  แต่ไม่สามารถ run โดยผมใช้ฟังก์ชัน HTTP Authentication
ซึ่งผมไม่เข้าใจเป็นอย่างมาก  ยังไงรบกวนผู้รู้ทุกท่านด้วยครับ

มือใหม่หัดขับ


clubcoms

Re: รบกวนขอ Code PHP ในการทำ login โดยการตรวจสอบจากฐานข้อมูล
« ตอบกลับ #2 เมื่อ: 26 กุมภาพันธ์ 2008, 00:28:03 »
อยู๋ใน thaiall.com ก้อมีเยอะน ะคับ ลองเข้าไปดูนะครับ O0

ออฟไลน์ AKCSYS

  • *****
  • 85
  • 1
  • เพศ: ชาย
  • Collaborative Learning Center : www.akcsys.org
    • Collaborative Learning Center
Re: รบกวนขอ Code PHP ในการทำ login โดยการตรวจสอบจากฐานข้อมูล
« ตอบกลับ #3 เมื่อ: 29 กุมภาพันธ์ 2008, 18:20:37 »
ฟอร์มล็อกอิน
Sample1.php

<?
ob_start();
session_start();
session_destroy();
?>
<html>
<body>
<form name="form1" method="post" action="Sample2.php">
Login <br>
<table width="27%" border="0" cellspacing="0" cellpadding="0" height="27">
<tr>
<td>User-Name</td>
<td>
<input type="text" name="user">
</td>
</tr>
<tr>
<td>password</td>
<td>
<input type="password" name="pass">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<input type="submit" name="Submit" value="login">
</td>
</tr>
</table>
</form>
</body>
</html>

หน้าใช้สำหรับตรวจสอบในฐานข้อมูล
Sample2.php

<?
$host="localhost";
$username="";
$pass_word="";
$db="mydatabase";
$tb="member";
mysql_connect( $host,$username,$pass_word) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");

$sql = "select * from $tb where user='$user' and pass='$pass_login'";
$dbquery = mysql_db_query($db, $sql);
$num_rows = mysql_num_rows($dbquery);

if(empty($num_rows))
{
echo"<br><center>user หรือ password ไม่ถูกต้อง</center></br>";
}
else
{
Session_register("user");
header('location:Sample3.php');
}
?>

ผลลัพธ์ที่ได้เอาไปใช้งานได้เลยครับ
Sample3.php

<?
ob_start();
session_start();
if(empty($user)) // ตรวจสอบว่าผ่านการ login หรือไม่
{
header('location:Sample1.php');
exit();
}
echo"สวัสดีครับ $user ตรงนี้ขึ้นอยู่กับการออกแบบของคุณ";
?>


ลองแกะโค้ดดู ถ้าจะเข้ารหัสก็ได้น่ะ เช่น พวก md5 ได้เพิ่มความปลอดภัย

กลุ่มผู้ดูแลระบบแห่งประเทศไทย -.- Collaborative Learning Center : www.akcsys.org

ketting00

ทำตามที่คุณ aegkaluk แนะนำแต่ login ไม่ได้เลยครับทั้งๆ ที่ register ผ่าน

ketting00

โค้ดครับ

1. login.php

<form name="login" action="check.php" method="post">
      Eail: <input id="email" name="email" type="text"><br />
      Password: <input id="password" name="password" type="password"><br />
      
                           <div class="login_button" style="width: 220px;">
            <a href="check.php"><img src="images/login.gif"></a>                  
      </div>

</form>


2. check.php

$host="localhost"; // Host name
$username="username"; // Mysql username
$password="password"; // Mysql password
$db_name="database_name"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die(mysql_error());
mysql_select_db("$db_name")or die(mysql_error());

// username and password sent from form
$email = $_POST['email'];
$password = $_POST['password'];

// Check records from a table
$sql="SELECT * FROM $tbl_name WHERE email='$email' and password='$password'";

$result=mysql_query($sql);

// Mysql_num_row is counting table row
// If result matched $email and $password, table row must be 1 row
$count=mysql_num_rows($result);

// Register $email, $password and redirect to file "login_success.php"
if($count==1){
session_register("email");
session_register("password");
header("location:user/index.php");
}
else {
echo "Wrong Email or Password";
}

มันขึ้น Wrong Email or Password ตลอดครับ  :'(

ออฟไลน์ นักเลงตัวน้อย

  • *****
  • 1,199
  • 1
  • เพศ: หญิง
  • ในความมืดยังมีแสงสว่าง
บางครั้งเราดูเหมือนคนโง่ ที่ไม่รู้เรื่องอะไรเลย แต่มีสิ่งหนึ่งที่เชื่อมั่นมาตลอดคือ ความมุ่งมั่น ความพยายาม ความตั้งใจ จะทำให้เราพัฒนาตัวเอง ให้เก่งขึ้น ขอแค่ใจเราสู้ก็พอ แม้รู้สึกท้อก็อย่าถอย อย่าละความพยายาม ความตั้งใจของตนเอง ถ้าถามว่าพร้อมไหม ถ้าจะบอกว่าฉันพร้อมเเล้ว เริ่มมันตรงนี้ เวลานี้ นาทีนี้ ให้รู้ไป ขอท้าชีวิตบนความท้าทาย

ออฟไลน์ AKCSYS

  • *****
  • 85
  • 1
  • เพศ: ชาย
  • Collaborative Learning Center : www.akcsys.org
    • Collaborative Learning Center
ได้ยังครับคุณ ketting00 คุณลองเปลี่ยนชื่อตัวแปร $password ดูก่อนมันใช้ชื่อตัวแปรซ้ำกันครับ ระหว่างใช้ connect db กับ ค่าที่นำไปเช็คกับ $sql="SELECT * FROM $tbl_name WHERE email='$email' and password='$password'";
กลุ่มผู้ดูแลระบบแห่งประเทศไทย -.- Collaborative Learning Center : www.akcsys.org