ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ ระบบ Login

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

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

kuroro26
PHP Jr. Member
PHP Jr. Member
Posts: 12
Joined: 24/03/2011 10:41 am

ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ ระบบ Login

Post by kuroro26 » 24/03/2011 10:50 am

ผมเป็นมือใหม่ PHP ครับรบกวนผู้รู้
ผมจะทำการ login โดย check ค่าว่าี user type เป็น A ไปที่หน้า A
ีถ้า user type เป็น B ไปที่หน้า B

แต่ผมไม่รู้วิธีดึงค่า type จาก DB ออกมายังไงครับ
รบกวนหน่อยนะครับ

code ที่ผมเขียนมาไว้เป็นแบบนี้ครับ

Code: Select all

<?php

if (isset($_POST['login_btn'])) {
  $db_hostname = 'localhost';
  $db_username = 'root';
  $db_password = 'root';
  $db_name = "petition";
  @ $db = new mysqli($db_hostname, $db_username, $db_password, $db_name);

  $username = $_POST["username"];
  $password = $_POST["password"];
  $sql = "SELECT * FROM login WHERE User_id = '$username' and password = $password";
  $result = $db->query($sql);
  $row = $result->fetch_row();

  if ($row) {
    $type = $row[2];
    switch ($type) {
      case 'Student':
        header("location:Student.php");
        break;
      case 'Lecturer':
      header("location:Officer.php");
        break;
      default:
    }
  } else {
    echo "Incorrect username&password";
  }
}
?>
Last edited by mindphp on 24/03/2011 1:10 pm, edited 2 times in total.
Reason: ครอบโค้ด php ใช้ [code=php] Code ของท่าน [/code]

kuroro26
PHP Jr. Member
PHP Jr. Member
Posts: 12
Joined: 24/03/2011 10:41 am

Re: ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ

Post by kuroro26 » 24/03/2011 11:41 am

ตาม code ข้างบนมัน login ได้แค่ user เดียว
ถ้า login user อื่นมันขะขึ้น

Fatal error: Call to a member function fetch_row() on a non-object in C:\wamp\www\Petition\Check.php on line 14

touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ

Post by touleg » 24/03/2011 11:50 am

Code: Select all

<?php
session_start();

$db_hostname = 'localhost';
$db_username = 'root';
$db_password = 'root';
$db_name = "petition";
$db = mysql_connect($db_hostname, $db_username, $db_password) or die("Can not connect to HOST");
mysql_select_db($db_name,$db) or die("Can not connect to DB");
    
if (isset($_POST['login_btn'])) {

    $username = $_POST["username"];
    $password = $_POST["password"];
    $sql = "SELECT * FROM login WHERE User_id = '$username' and password = '$password'";
    $result = mysql_query($sql) or die("Query Error");

    if(mysql_num_rows($result) == 1) //เช็คว่ามีเร็กคอร์ดเดียวหรือป่าว ถ้ามีเยอะแสดงว่าผิดแระ
    {
        $data = mysql_fetch_assoc($result);
        $user = $data['User_id'];
        $pass = $data['password'];
        $type = $data['type'];
        if($username==$user && $password==$pass) //เช็คอีกครั้ง กันโดนแฮก
        {
            $_SESSION['username'] = $username;
            $_SESSION['password'] = $password;
            
            switch ($type) {
                case 'Student':
                header("location:Student.php");
                break;
                case 'Lecturer':
                header("location:Officer.php");
                break;
                default:
            }
        } else {
            echo "Incorrect username&password";
        }
    }else{
        echo "มี username มากกว่า 1 (เป็นไปไม่ได้)";
    }
}
?>

kuroro26
PHP Jr. Member
PHP Jr. Member
Posts: 12
Joined: 24/03/2011 10:41 am

Re: ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ

Post by kuroro26 » 24/03/2011 11:56 am

ได้ละครับขอบคุณครับผม

ผมขอถามนิดนึงว่ามีใครรับสอนเป็นการส่วนตัวไหมครับซัก 1 วันก็พอ
ผมดีผมพึ่งหัดศึกษาด้วยตัวเองเลย งงๆ พวกการใช้ function นิดนึง

touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: ถามเกี่ยวกับการ login โดยใช้ข้อมูล Mysql หน่อยครับ ระบบ Login

Post by touleg » 24/03/2011 1:25 pm

1 วันไม่พอสำหรับการเรียนครับ แค่เนื้อหาก็เยอะแล้ว สอนได้ แต่รับได้ไม่หมดหรอกครับ อีกทั้งจะเก่งจะชำนาญได้ต้องเก็บประสบการณ์เยอะๆครับ ลองฝึกทำเองไปเจอปัญหา แก้ได้ ก็จะได้ประสบการณ์เพิ่มขึ้นครับ

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 86 guests