รายละเอียดบริการลงโฆษณา
 บริการจดโดเมนเนม เว็บไซด์ .Com, .Net, .Org เพียง 550 บาท / ปี    สำหรับโดเมนอื่นๆ คลิกเพื่อดูรายละเอียด
ขนาดอักษรปกติขนาดอักษรใหญ่ขนาดอักษรพิเศษ
 คลิก Banner เพื่อสนับสนุนเว็บไทยดีดี กำลังโหลดข้อมูล... 
   สนใจติดต่อโฆษณา คลิกดูรายละเอียด             กำลังใช้งาน 823 ท่าน เยี่ยมชม 15,839,085 ครั้ง หน้าหลัก เว็บไทยดีดี | คำติชมของคุณ  
ค้นหาบทความ PHP ค้นจากเว็บไทยดีดี ค้นจาก Google
564/4 ลุมพีนีเซ็นเตอร์ บี 4 ถ.แฮปปี้แลนด์ แขวงคลองจั่น เขตบางกะปิ กทม. 10240 โทร : 0-2704-9100 แฟ็กซ์ : 0-2704-7596 กด 5 (อัติโนมัติ)  คลิ๊กดูแผนที่
หน้าแรกเว็บไทยดีดี บทความ PHP ข่าวและโปรแกรมเสริม เว็บบอร์ด ลงโฆษณากับเรา
  Webmaster Talk     วันพฤหัสบดี ที่ 24 กรกฏาคม พ.ศ.2551
Webthaidd.COM 2.8 Live Version Build 0512
ปรับปรุงหน้าเว็บให้รองรับ Internet Explorer 7.0
 
การค้นหาบทความ
1. พิมพ์ URL เข้าสู่บทความ www.webthaidd.com/photoshop
2. ใช้เครื่องมือ Quick Search เพื่อช่วยในการค้นหาบทความ
 
ติดต่อทีมงาน
Tel. 0-2704-9100, Fax. 0-2704-7596 กด 5 (อัติโนมัติ)
menu left
 
นิตยสารออนไลน์ ฉบับแรกของคนไทย
ติดต่อลงโฆษณา 0-2704-9100
 
ชื่อผู้ใช้
รหัสผ่าน
  ล็อกอินชั่วคราว ล็อคอินถาวร
สมัครสมาชิก
ลืมรหัสผ่าน
วิธีใช้งานระบบ
 
13 ออกแบบเว็บไซต์ (Design)
10 พัฒนาโปรแกรมเฉพาะด้าน (Dev)
14 ปรับปรุงเว็บไซต์ (Re Design)
21 จดโดเมนเนม (Domain)
28 เช่าพื้นที่จัดทำเว็บไซต์ (Hosting)
 
MySQL จะไม่แจกความสามารถบางส่วน
ซอฟต์แวร์ฐานข้อมูลโอเพนซอร์สอย่าง MySQL เริ่มมีท่าทีไม่เป็นมิตรกับชุมชนโอเพนซอร์สนัก เมื่อทาง SUN หุ้นส่วนใหญ่ของ MySQL AB ได้ประกาศว่าฟีเจอร์ใหม่ๆ บางตัวนั้นจะมีเฉพาะใน More »
ซันพร้อมควักพันล้านดอลล์ซื้อ MySQL
ซันไมโครซิสเต็มส์ ประกาศพร้อมซื้อบริษัทซอฟต์แวร์สัญชาติสวีเดน MySQL AB ด้วยเงินมูลค่า 1 พันล้านเหรียญสหรัฐ ดีลนี้ได้รับความสนใจจากคนไอทีทั่วโลก เนื่องจาก MySQL ผลงานโบแดงของ MySQL AB More »
joomla 1.5.2 ออกแล้ว ภาษาไทยพร้อมใช้งานเต็ม100
ใน Release มีการแก้ไข และเพิ่มความสามารถดังนี้ More »
Zend Framework 1.5 ออกแล้ว
เมื่อวันที่ 17 มีนาคมที่ผ่านมา ทาง Zend ได้ปล่อย Zend Framework 1.5 แล้วครับ หลังจากที่มี Released Candidate มาให้ใช้กันได้สักพักแล้ว More »
PHP4 หยุดการพัฒนาแล้ว
โครงการ PHP ประกาศหยุดพัฒนา PHP4 และหยุดให้การสนับสนุนตั้งแต่สิ้นปี (31 ธ.ค. 2007) เป็นต้นไป More »
อ่านข่าวทั้งหมด
 
01 เครื่องมือทำเว็บ ออนไลน์
02 ค้นหาเว็บไทย (Web Directory)
03 วิทยุ เพลงออนไลน์ (Radio)
04 EXPERTISE MSN
05 เว็บบอร์ด ถาม-ตอบปัญหา
06 แบบสำรวจ (Poll)
 
05 รายละเอียดโฆษณาบนเว็บ

 
บทความ PHP Programing ออนไลน์       Webthaidd Basic and Advance E-learning
จัดทำโดย : Mr.GuruZ     แสดง 34,423 ครั้ง  เว็บบอร์ด   ส่งให้เพื่อน   พิมพ์
การทำระบบ Login โดยใช้ฐานข้อมูล
Un title page

การทำระบบ Login โดยใช้ฐานข้อมูล มีหลายคนถามกันเข้ามา โดยวิธีทำนั้นจะมีหลายแบบด้วยกันแล้วแต่ว่าเราจะเขียน แต่ในที่นี้ผมจะเขียนในส่วนที่สามารถนำไปประยุกต์ต่อกันได้ ลองมาดูขั้นตอนการทำ

ขั้นตอนกาทำ
1. ให้เราสร้าง Database ขั้นมาก่อนเพื่อใช้ในการเก็บค่า user และ pass

# phpMyAdmin MySQL-Dump
# http://phpwizard.net/phpMyAdmin/
#
# Host: localhost Database : test
# --------------------------------------------------------

#
# Table structure for table 'user_login'
#

CREATE TABLE user_login (
id int(11) NOT NULL auto_increment,
user_log char(15) NOT NULL,
pass_log char(15) NOT NULL,
PRIMARY KEY (id)
);

#
# Dumping data for table 'user_login'
#

INSERT INTO user_login VALUES ( '1', 'guest', '1234');

2. หลังจากนั้นให้เราสร้างฟอร์ม Login ในที่นี้ผมใช้ชื่อไฟล์ว่า form_login.php (* ถ้าฟอร์มที่คุณสร้างนั้นไม่ใช้ภาษา php สามารถ save เป็นไฟล์ HTML ได้)

ใครงงดูโค้ดที่นี่ form_login.php

<?
session_start();
?>
<html>
<head>
<title>webthaidd.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
</head>
<body bgcolor="#FFFFFF">
<form name="form1" method="post" action="check.php">
User :
<input type="text" name="username_log"> //ชื่อตัวแปลที่ใช้ในการส่งค่า
<br>
Pass :
<input type="password" name="password_log"> //ชื่อตัวแปลที่ใช้ในการส่งค่า

<? echo $code_error;?>
<br>
<input type="submit" name="Submit" value="Login">
</form>
</body>
</html>

3. ทำการเขียนโค้ดที่ไฟล์ check.php เพื่อตรวจสอบการ Login ของผู้ใช้

<?
session_start();
$hostname = "localhost"; //ชื่อโฮสต์
$user = ""; //ชื่อผู้ใช้
$password = ""; //รหัสผ่าน
$dbname = "test"; //ชื่อฐานข้อมูล
$tblname = "user_login"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");

// เลือกฐานข้อมูล
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");

// คำสั่ง SQL และสั่งให้ทำงาน
$sql = "select * from $tblname where user_log='$username_log' and pass_log='$password_log'"; //เช็คค่าข้อมูลที่ส่งมาจากฟอร์ม
$dbquery = mysql_db_query($dbname, $sql);

// หาจำนวนเรกคอร์ดข้อมูล
$num_rows = mysql_num_rows($dbquery);
if($num_rows==1){
header("location:http://www.webthaidd.com"); //ไปไปตามหน้าที่คุณต้องการ
}else {
$code_error="<BR><FONT COLOR=\"red\">ข้อมูลที่คุณกรอกไม่ถูกต้อง กรุณา Login ใหม่อีกครั้ง</FONT>";
session_register("code_error");
header("location: form_login.php"); //ไม่ถูกต้องให้กับไปหน้าเดิม
}
?>

4. หลังจากนั้นลองทดสอบดู
user=guest
pass=1234


- ถ้าถูกต้องจะเข้าไปที่เว็บ webthaidd หรือหน้าที่เรากำหนดนั้นๆ
- ถ้าผิดจะแจ้ง error ตามข้อความที่เรากำหนด

ความคิดเห็นผู้อ่านบทความนี้
ความเห็นที่ : 15 แจ้งลบ  
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\AppServ\www\Mameaw\formcheck.php on line 8 ติดต่อฐานข้อมูลไม่ได้ ไม่เข้าใจว่าทำไมถึงเชื่อมฐานข้อมูลไม่ได้ค่ะ รบกวนด้วยนะค่ะ
โดย : เด็กฝึกหัด    เมื่อ : 07 ก.ค. 51  

ความเห็นที่ : 14 แจ้งลบ  
ถ..ถูกต้องนะคร้าบ ว่าใน1tableย่อมมีหลายuser but ในความเป็นจริงแล้ว user_log จัดเป็นcandidate key ซึ่ง1ในกฎของมันก็คือต้องเป็นpropretiesที่สามารถระบุถึงความเป็นตัวตนของมันได้ อ้าเริ่มจะเข้าใจแล้วใช่มัย ดังนั้นในความเป็นจริงมันจะมีโอกาศ มัยที่ $num_rows=2 คำตอบก็คือตะแด่น..ตะแด้น โอกาศเป็น0 เพราะว่าเงื่อนไขก็คือ where user_log=\'$username_log\' and pass_log=\'$password_log\' ดังนั้นเมื่อเราทำตามกฎของ candidate key มันก็จะไม่เกิดปัญหา ผมจะบอกการทำงานคร่าวๆของสคิบนี้นะครับเขาก็แค่เอาข้อมูลusername_log password_log ไปเช็คกะdatabase ซึ่งถ้ามี $dbqueryก็จะมีค่าเป็น1 ผมได้ตอบไปหมดแล้วนะครับ สคิบนี้เป็นแค่การprocessนึงเท่านั้นยังเอาไปใช้จริงไม่ได้ยังต้องเขียนเพิ่มอีกนะครับคุณ ความเห็นที่ : 13
โดย : ....    เมื่อ : 16 เม.ย. 51  

ความเห็นที่ : 13 แจ้งลบ  
สมมุติว่าในเทเบิล user_login มีข้อมูลอยู่หลายชื่อ จะทำอย่างไรคับ เพราะ if($num_rows==1) หมายถึง ในเทเบิลมีข้อมูลอยู่ 1 เรคอรด์ใช่มั้ยครับ ให้ผ่านได้ แต่ถ้าข้อมูลเรามีมากกว่า 1 หล่ะคับ จะทำยังไงช่วยอธิบายต่อยอดอีกนิดได้มั้ยครับ
โดย : tomm    เมื่อ : 12 เม.ย. 51  

ความเห็นที่ : 12 แจ้งลบ  
แบบว่า login เข้าไปแล้วจะเป็น data ข้อสมาชิกนั้น ๆ คือแบบเก็บ ข้อมูลส่วนตัว ของใครของมัน อ่ะ กรุณาด้วย พึ่งหัดทำคับ ( เด็กใหม่)
โดย : เด็กใหม่    เมื่อ : 12 ก.พ. 51  

ความเห็นที่ : 11 แจ้งลบ  
แบบว่า login เข้าไปแล้วจะเป็น data ข้อสมาชิกนั้น ๆ คือแบบเก็บ ข้อมูลส่วนตัว ของใครของมัน อ่ะ กรุณาด้วย พึ่งหัดทำคับ ( เด็กใหม่)
โดย : เด็กใหม่    เมื่อ : 12 ก.พ. 51  

ความเห็นที่ : 10 แจ้งลบ  
แก้อาการ Error เหมือนความคิดเห็นที่ 4 ยังไงอะครับ ผมก็ติก
โดย : ผู้ประสบภัย    เมื่อ : 22 ม.ค. 51  

ความเห็นที่ : 9 แจ้งลบ  
ขอบคุณมากครับ
โดย : ขอบคุณมากๆๆๆๆครับ    เมื่อ : 22 ม.ค. 51  

ความเห็นที่ : 8 แจ้งลบ  
ขอบคุณครับ
โดย : FaNg    เมื่อ : 20 ม.ค. 51  

ความเห็นที่ : 7 แจ้งลบ  
ถึงคุณ FaNg มันเป็นการเช็คว่ามีชื่อloginนี้หรือป่าว ถ้า $num_rows == 1 ก้อสามารถ loginได้ แต่ถ้า $num_rows == 0แสดงว่าไม่มีชื่อloginนี้ในระบบก้อไม่สามารถ login ได้ครับ
โดย :    เมื่อ : 18 ม.ค. 51  

ความเห็นที่ : 6 แจ้งลบ  
คืออยากรู้ว่า $num_rows = mysql_num_rows($dbquery); if($num_rows == 1) คืออะไรครับ เหมือนไปเช็คใน database แล้วก็เข้าไม่ได้เลย ถ้าแก้เป็น 0 ใส่อะไรก็เข้าได้หมดเลย ช่วยอธิบายหน่อยน่ะครับ ขอบคุณครับ
โดย : FaNg    เมื่อ : 18 ม.ค. 51  

ความเห็นที่ : 5 แจ้งลบ  
แล้วถ้ากรอกเสร็จแล้วต้องการให้ไปหน้าที่ต้องการตรวจสอบว่ามาจากหน้าล็อกอินหรือไม่ ถ้าไม่ได้มาจากหน้าล็อกอินแล้วมีข้อความเตือนขึ้นมาจะต้องทำยังไงคะ
โดย : mookan    เมื่อ : 15 ม.ค. 51  

ความเห็นที่ : 4 แจ้งลบ  
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\Fuel\checkuser.php:1) in C:\AppServ\www\Fuel\checkuser.php on line 2 Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\Fuel\checkuser.php:1) in C:\AppServ\www\Fuel\checkuser.php on line 17 ผมทำตามขั้นตอนแล้ว แต่มันขึ้น Cannot send session cache limiter - headers already sent ต้องทำไงคับ run ใน appserv
โดย : ต้น    เมื่อ : 12 ม.ค. 51  

ความเห็นที่ : 3 แจ้งลบ  
ขอถามต่อยอดอีกนิดนึงนะครับ ถ้าเกิดว่าผมต้องการให้แสดงชื่อผู้ที่ login สำเร็จ แบบตามเวบทั่วไปต้องทำอย่างไรต่อครับพอช่วยแนะนำวิธีหน่อยนะครับ
โดย : panupong    เมื่อ : 19 ธ.ค. 50  

ความเห็นที่ : 2 แจ้งลบ  
โค้ดในข้อ2 คือโค้ดของ from เหรอค่ะ งงค่ะแบบว่าไม่มีความรู้เลยอ่ะค่ะ
โดย : ก้อย    เมื่อ : 06 ธ.ค. 50  

ความเห็นที่ : 1 แจ้งลบ  
มัน ข้อมูลที่คุณกรอกไม่ถูกต้อง กรุณา Login ใหม่อีกครั้ง ที่หน้าฟอร์ login อ่าค่ะแล้วก็login ไม่ได้ด้วยค่ะ
โดย : unzeen    เมื่อ : 19 พ.ย. 50  

แสดงความคิดเห็น
 
  ( JPG, GIF ) ไม่เกิน 50 k
ชื่อผู้แสดงความคิดเห็น
รหัสส่งข้อมูล

 
  Shortcut : http://www.webthaidd.com/php Back to the top   
WebThaiDD.com
Generalsupply.co.th
Sangfahgroup.com
Thainas.com
Leaderjewelry.com
Gsecthai.com
Imcreation.co.th
Teebaan.com
Dollydolls Shop
ThaiHoteldeal.com
Slversoutherntour.com
Fjitours.co.th
หน้าแรกเว็บไทยดีดี บทความ PHP ข่าว PHP เว็บบอร์ด ลงโฆษณากับเรา
เพื่อนบ้านเว็บไทยดีดี ติดต่อแลกลิงค์ได้ที่ webmasterwebthaidd.com
บทความ : Mac2hand | PHP.deeserver | 3d-create | Cg4d | Thairetouch | PHPThailand | MIndphp | Icphysics | blog.ubu-design | ubu-design
รวมของฟรี : Websocietysite | ThaiEarth | PHPScriptHost
สถิติเว็บไซต์ : Truehits | Stat08
หางาน ออนไลน์ : JobURL | Oxfordbc | Excellent-search
ร้านค้าออนไลน์ : Dollydolls
ข่าว และการสื่อสาร : Thainn
คอมพิวเตอร์
: Mustcomp | Com-th | Nanosoft | Thaiwirelesslan | 3D-Dsign | Changsomcom
เว็บรุ่น
: Comsci60
วาไรตี้ : Cosmodesktop | Nachiengmai | Seesan | Tteen | Baanjomyut | Thaihotweb | UnlimitLife
การเกษตร และสิ่งแวดล้อม : Orchidsiam
เพลง ดนตรี
: Tapeburapa
สุขภาพ : Thai-sle
ทองเที่ยว : Tourmuangthai | Ezytrip | Elephantpark | Ekohchang | Lantalanta | Silkzpider | Silverstonetour | Varietykorea | Varietytrip
โรงแรม รีสอร์ท : Vacationvillage | kohmook-resort
ผู้พิทักษ์สันติราษฎร์ : สำนักงานตำรวจแห่งชาติ | สถานีตำรวจภูธรอำเภอผักไห่ | สถานีตำรวจภูธรอำเภอเคียนซา
ทั่วไป
: Thailand | Maxpromarket | Pyayam
© 2005-2008 WebThaiDD.COM All rights reserved. แนะนำ ติ-ชม  webmaster@webthaidd.com เลขทะเบียนพาณิชย์ 0105549132957