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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

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

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

โดย touleg » 24/03/2011 1:25 pm

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

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

โดย kuroro26 » 24/03/2011 11:56 am

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

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

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

โดย touleg » 24/03/2011 11:50 am

โค้ด: เลือกทั้งหมด

<?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 (เป็นไปไม่ได้)";
    }
}
?>

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

โดย 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

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

โดย kuroro26 » 24/03/2011 10:50 am

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

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

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

โค้ด: เลือกทั้งหมด

<?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";
  }
}
?>

ข้างบน