php – 如何完成此登录脚本?
发布时间:2020-12-13 17:23:00 所属栏目:PHP教程 来源:网络整理
导读:我几乎完成了我的登录脚本,但我不知道如何检查用户名和密码是正确的. 这是我的脚本文件. index.php: htmlbodyform action="action1.php" method="post"Username: input type="text" name="uname"Password: input type="password" name="pword"input type="s
我几乎完成了我的登录脚本,但我不知道如何检查用户名和&密码是正确的.
这是我的脚本文件. > index.php: <html> <body> <form action="action1.php" method="post"> Username: <input type="text" name="uname"> Password: <input type="password" name="pword"> <input type="submit"> </form> </body> </html> index.php文件只是我用来从我的用户收集信息以进行注册的页面. > action1.php: <?php $con = mysql_connect("localhost","root",""); if (!$con) { die ('Could not connect: ' . mysql_error()); } mysql_select_db("user1",$con); $sql="INSERT INTO useri1 (uname,pword) VALUES ('$_POST[uname]','$_POST[pword]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "1 record added"; mysql_close($con); ?> action1.php文件只是将用户注册到数据库的页面. > login.php: <html> <body> <form action="checklogin.php" method="post"> Username: <input type="text" name="uname1"> Password: <input type="password" name="pword1"> <input type="submit"> </form> </body> </html> login.php文件就是我用来输入用户登录信息的页面. 现在这是我的问题,我不知道如何检查用户登录信息,以便他们可以进入仅限会员区域.我是新手&任何帮助是极大的赞赏. 谢谢, –Devin 解决方法
首先,你想使用
mysqli而不是mysql,因为mysql已经过时,不再积极开发.其次,您希望开始转义数据库查询以停止sql注入.在下面的代码中,我使用会话来跟踪用户.您可以了解有关会话
here的更多信息.
<?php session_start(); $mysqli = new mysqli('localhost','root',DB_PASSWORD,'user1'); /* check connection */ if ($mysqli->connect_error) die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); /* escape string from sql injection */ $userName = $mysqli->real_escape_string($_POST['uname1']); /* query database */ $result = $mysqli->query("SELECT `pword` FROM `user1` WHERE `uname` = '".$userName."'"); if ($result->num_rows == 1) { while ($col = $result->fetch_array(MYSQLI_ASSOC)) { // This presumes you're storing your passwords in plain text. // If you hashed your passwords or anything,you would have to do the same to $_POST['pword'] if ($_POST['pword'] == $col['pword']) { // You could do anything here,but sessions are a way of keeping track of a user. $_SESSION['userName'] = $_POST['uname1']; $_SESSION['loggedIn'] = true; } } } $result->close(); /* don't forget to close the connection */ $mysqli->close(); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |