PHP学习笔记(七):前台用户登陆、后台匹配数据库进行校验
有两个文件login.html和login_check.php
login.html
<!-- 作者:1121263265@qq.com 时间:2015-06-28 描述:这个里面有几个知识点: 1、重置按钮的type=reset,可以直接清除输入框的内容 2、提交按钮,提交前进行校验的方法,就是写一个脚本check函数,然后在onclick时触发 --> <!DOCTYPE html> <html> <head> <title>library</title> <meta charset="utf-8" /> </head> <body> <form action="login_check.php" onsubmit="return check(this)" method="post"> 姓名:<input type="text" name="name"><br> 密码:<input type="text" name="password"><br> <input type="submit" value="提交"> <input type="reset" value="重置" /> </form> <script> function check(form) { //不能用null来代替"",因为null是这个变量不存在,""才是这个变量值为空 //而事实上,即使没有输入名字或密码,这个变量也还是存在的 if(form.name.value!="" && form.password.value!="") { alert("用户名和密码已输入,点击确认开始匹配"); } else { if(!form.name.value) { alert("请输入用户名"); form.name.focus(); return false; } if(!form.password.value) { alert("请输入密码"); form.password.focus(); return false; } } } </script> </body> </html>
login_check.php
<meta charset="utf-8" /> <?php session_start(); include("conn/conn.php"); $name=$_POST["name"]; $password=$_POST["password"]; if($name=="" || $password=="") echo "<script>history.go(-1);</script>"; $sql="select * from tb_manager where name=$name"; $result=mysqli_query($conn, $sql); if(!mysqli_num_rows($result)) { //如果没有这个账号,就返回上一页 echo"<script>alert("没有对应的账号");history.go(-1);</script>"; } $array=mysqli_fetch_array($result, MYSQLI_NUM); //数据库结构为---$array[0]:ID,$array[1]:name,$array[2]:password if($array[2]!=$password) { //如果密码错误,也返回上一页 echo "<script>alert("密码输入错误,请重新输入");history.back();</script>"; } echo "登陆成功!<br/> 账号:$array[1]<br/> 密码:$array[2]<br/>"; $_SESSION["name"]=$name; $_SESSION["password"]=$password; echo "即将跳转到主页!"; //页面跳转的两种方式: /* * 一、通过header()跳转 * 定时1秒后,跳转到index.php * header("refresh:1;url=index.php"); * * 二、通过脚本跳转 * echo "<script>var url="index.php";setTimeout("window.location.href=url",1000);</script>"; * */ //下面用header方式跳转 header("refresh:1;url=index.php"); //网上说header不能放到输出内容的后面,但是我放到输出内容的后面,也可以正常运行,不知道为啥 //header("Location:index.php"); ?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。