vb6login ใครพอทำเเบบนี่ได้บางครับ ผม งงอ่ะครับ ทำเป๊นsource code
ั้นแรกสร้าง ฐานข้อมูล Mysql ก่อนครับ ยกตัวอย่างในที่นี้ผมตั้งชื่อว่า Userlogin สร้างเสร็จ ก็เข้าไปที่ ฐานข้อมุลที่เราสร้างขึ้น กด ตรง SQL เพื่อจะแทรกคำสั่ง SQL ในการสร้างฐานข้อมูล ตามนี้ครับ
HTML Code:
CREATE TABLE member ( user_id INT, user VARCHAR(15), pass VARCHAR(15) )
เมื่อสร้างฐานข้อมูลเสร็จ ก็มาสร้าง PHP ให้เชื่อมต่อ ฐานข้อมุลแล้ว ตรวจสอบ User-Pass ตามปกติครับ ในที่นี้เราจะสร้าง php แบบ query string เพื่อรับค่าจาก GET นะครับ
HTML Code:
<?php $hostname = "localhost"; $user = "=ชื่อผู้ใช้งานฐานข้อมูล"; $password = "พาสเวริ์ด"; $dbname = "Userlogin"; // ชื่อ database ที่ผมสร้าง $tblname = "member"; // ชื่อตารางใน ฐานข้อมูล $ip = $_SERVER["REMOTE_ADDR"]; //ไอพี ?> <?php mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
$idlogin=($_REQUEST['username']); //รับค่ามาแบบ query string $passlogin=($_REQUEST['password']); // หรือใครมีความสามารถก็อาจจะทำรับค่ามา เป็น แบบ เข้ารหัส MD5 แล้วมาแปลงค่าเอาก็ได้ ครับ
$sql = "select * from $tblname where user='$idlogin' and pass='$passlogin'"; $dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery); if($num_rows==1){ echo ("loginok"); // ถ้าค่าถูกต้องให้ echo loginok }else { echo $ip; // ถ้าไม่ถูกต้อง แสดงไอพี } ?>
ผมวางไฟล์ php ที่จะใช้ VB6 เชื่อมต่อไว้ที่ path http://localhost/login/login.php นะครับ
ต่อไปก็มาที่โค้ด VB6 โค้ดนี้คิดเองทั้งนั้น เป็นโค้ดแบบบ้านๆ Basic Basic ครับ อาจจะดูตลกๆ ผมก็ไม่ค่อยมีความรู้เยอะเท่าไหร่แบบว่าเพิ่งหัดเขียนมาไม่ถึง 2 ปี ก็อยากมาแชร์ความรู้สำหรับคนที่กำลังศึกษา VB อยู่ อาจจะเป็นความรู้ที่แปลกใหม่มั้งก็ได้
เปิด VB6 สร้าง Exe Project แบบปกติครับ เพิ่ม textbox มา ชื่อ txtusername , txtpassword , serverrespon เพิ่ม timer 1 ตัว status = False Interval = 750 , command botton 1 อัน ชื่อ Btlogin แล้วเพิ่ม Control Inet มา 1 ตัว
โค้ดครับ
HTML Code:
Private Sub Form_Initialize() serverrespon.text = "loginok" KeyPreview =True End sub
Private Sub btlogin_Click() Dim strURL As String On Error Resume Next If Trim(txtusername.Text) = "" Or Len(Trim(txtusername.Text)) = 0 Then MsgBox "กรุณากรอก (Username)ให้ถูกต้อง.", vbOKOnly + vbExclamation, "Login" Exit Sub ElseIf Trim(txtpassword.Text) = "" Or Len(Trim(txtpassword.Text)) = 0 Then MsgBox "กรุณากรอก(Password) ให้ถูกต้อง.", vbOKOnly + vbExclamation, "Login" Exit Sub End If btlogin.Enabled = False strURL = "http://localhost/login/login.php?" & "username=" + txtusername.Text & "&password=" + txtpassword.Text Inet1.OpenURL (strURL) Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer() Dim ser As String
If Inet1.OpenURL = serverrespon.Text Then MsgBox "สวัสดีคุณ" & txtusername.Text & " ยินดีต้อนรับสู่ โปรแกรมของเรา.", vbOKOnly + vbInformation, "Login Status" Timer1.Enabled = False Unload Me main.Show // Login ถูกต้อง เข้าสู่หน้าโปรแกรมถัดไป Else MsgBox "ไม่สามารถเข้าสู่โปรแกรมได้.", vbOKOnly + vbInformation, "Login Status" txtusername.Text = "" txtpassword.Text = "" txtusername.SetFocus btlogin.Enabled = True End If Timer1.Enabled = False End Sub
//สร้าง Sub ขึ้นมาเพื่อให้ เวลา Login สามารภกด Enter แล้วเหมือนกดปุ่ม Login เลย Sub Enterlogin() Dim strURL As String On Error Resume Next If Trim(txtusername.Text) = "" Or Len(Trim(txtusername.Text)) = 0 Then MsgBox "กรุณากรอก (Username)ให้ถูกต้อง.", vbOKOnly + vbExclamation, "Login" Exit Sub ElseIf Trim(txtpassword.Text) = "" Or Len(Trim(txtpassword.Text)) = 0 Then MsgBox "กรุณากรอก(Password) ให้ถูกต้อง.", vbOKOnly + vbExclamation, "Login" Exit Sub End If btlogin.Enabled = False strURL = "http://localhost/login/login.php?" & "username=" + txtusername.Text & "&password=" + txtpassword.Text Inet1.OpenURL (strURL) Timer1.Enabled = True
End Sub
// โค้ดเกี่ยวกับ Key board ให้รับค่าเฉพาะ อังกฤษ และ ต่างๆ อีกมากมาย Credits อาจารย์ท้องก้อน G2gNet Private Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDown Then SendKeys "{TAB}" If KeyCode = vbKeyUp Then SendKeys "+{TAB}" End Sub
Private Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{TAB}" KeyAscii = 0 Else KeyAscii = CheckAlphaNumeric(KeyAscii) End If End Sub
Private Sub txtUserName_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDown Then SendKeys "{TAB}" If KeyCode = vbKeyUp Then SendKeys "+{TAB}" End Sub
Private Sub txtUserName_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then SendKeys "{TAB}" KeyAscii = 0 Else KeyAscii = CheckAlphaNumeric(KeyAscii) End If End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyEscape: End Case vbKeyReturn: Call Enterlogin End Select End Sub
Public Function CheckAlphaNumeric(Index As Integer) As Integer Select Case Index Case 48 To 57, 65 To 90, 97 To 122 CheckAlphaNumeric = Index Case 8 Case 13 Case Else Index = 0 End Select CheckAlphaNumeric = Index End Function
|