10/10/2018, 11:45
Cần giúp đỡ về form đăng nhập PHP
Tình hình là chỉ mới bập bẹ học PHP nên chắc những lỗi sơ đẳng thôi. Nhưng vì mới học nên các ae chớ ném gạch em ;D
Lỗi là khi gõ đúng user và pass rùi mà nó vẫn wrong user và pass hoài
Và mình cũng muốn hỏi thêm là khi Xây dựng trang đăng nhập cho web người ta thường dùng cách này hay còn cách nào nữa không các bác.
Tình hình là mình có 4 trang php
CSDL
Main_login.php
check_login.php
login_success.php
logout.php
Lỗi là khi gõ đúng user và pass rùi mà nó vẫn wrong user và pass hoài
Và mình cũng muốn hỏi thêm là khi Xây dựng trang đăng nhập cho web người ta thường dùng cách này hay còn cách nào nữa không các bác.
Tình hình là mình có 4 trang php
CSDL
Code:
CREATE TABLE `members` ( `id` int(4) NOT NULL auto_increment, `username` varchar(65) NOT NULL default ', `password` varchar(65) NOT NULL default ', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 ; -- -- Dumping data for table `members` -- INSERT INTO `members` VALUES (1, 'anhduy89', '1234');
Code:
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#cccccc"> <tr> <form name="form1" method="post" action="check_login.php"> <td> <table width="300" border="0" cellspacing="1" cellpadding="3" bgcolor="#ffffff"> <tr> <td colspan="3"> <strong>Member Login</strong> </td> </tr> <tr> <td width="78">UserName</td> <td width="6">:</td> <td width="297"><input name="myusername" type="text" id="myusername"></td> </tr> <tr> <td>Password</td> <td>:</td> <td><input name='mypassword' type="text" id="mypassword"></td> </tr> <tr> <td> </td> <td> </td> <td><input type="submit" name="Submit" value="Login"></td> </tr> </table> </td> </form> </tr> </table>
Code:
<?php $conn = mysql_connect('localhost', 'root', ') or die('Connect Failed :'.mysql_error()); mysql_select_db('db') or die('Select Failed :' .mysql_error()); //Username va Password gui den tu form main_login $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $sql=(' SELECT * FROM members WHERE username="$myusername" and password="$mypasword" ') or die('Select DB Failed' .mysql_error()); $result=mysql_query($sql); //Mysql_num_row so user tim thay trong user $count=mysql_num_rows($result); // Neu tim thay username va pass thi ket qua tra ve tren 1 dong if($count == 1){ // Dang ki $myusername, $mypassword va chuyen xong file "login_success.php" session_register('myusername'); session_register('mypassword'); header("location:login_success.php"); }else{ echo "Wrong Username or Pass"; } ?>
Code:
<?php // Kiem tra session da dc dang ki chua ? Neu chua chuyen huong ve trang main_login.php session start(); if(!session_is_registered(myusername)){ header("location:main_login.php") } ?> <html> <body> Login Successful </body> </html>
Code:
<?php session_start(); session_destroy(); ?>
Bài liên quan
Bạn nên tham khảo thêm qua google về vấn đề này vì chuyện này rất dài
session_register('myusername');
session_register('mypassword');
Với PHP version >= 5, bạn có thể sử dụng trực tiếp biến $_SESSION
Không cần gọi lại các hàm session_register abc vân vân, dĩ nhiên là vẫn phải gọi hàm session_start();
Google thêm để biết chi tiết.
$_SESSION['myusername'] = 'bvnguyen';
kiểm tra xem session tồn tại không thì thế này:
if (isset($_SESSION['myusername'])) {
// do some thing here
}
session_register('myusername');
session_register('mypassword');
và sửa lại đoạn login_success.php này
http://www.mediafire.com/?pr946jpv1jbm4b0
sau mấy lần nhờ antipro.vn sửa giúp cho thì hiện tại code mình như thế này
main_login.php