前端0基础,草草看了一天的HTML和php的相关知识,写了个大致功能实现的可以实现注册登录的页面。下面就是代码了:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Register Page</title>
<style>
.error {color: #FF0000;}
</style>
</head>
<body><h1>Register/Login Page<br></h1><?php $username=$password="";
$usererr=$passwderr=$checkerr="";
$check="";function str_input($str) //对输入字符串进行预处理
{$str=trim($str);//去除首尾的空白字符$str=htmlspecialchars($str);//将输入字符串转换为html实体return $str;
}
if ($_SERVER["REQUEST_METHOD"]=="POST")
{if (empty($_POST["username"])) {$usererr="*用户名不能为空!";}else {$username=str_input($_POST["username"]);if (!preg_match("/^[a-zA-Z0-9]*$/", $username)) //用正则表达式匹配,保证用户名仅包含字母和数字{$usererr="*仅允许使用字母和数字构成用户名";}}if (empty($_POST["password"])) {$passwderr="*密码不能为空";}else {$password=str_input($_POST["password"]);if (!preg_match("/^[a-zA-Z0-9]*$/", $password)) //用正则表达式匹配,保证密码仅包含字母和数字{$passwderr="*密码仅支持字母数字";}}if (empty($_POST["check"])){$checkerr="*未选择登录/注册类型!";}else {$check=str_input($_POST["check"]);}}?><h2>注册/登录界面</h2>
//值得注意的是,这里设置表单的提交对象为自身,且需用htmlspecialchars转移,避免可以执行外部脚本的漏洞。
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
username: <input type="text" name="username" value="<?php echo $username;?>"><span class="error"> <?php echo $usererr;?></span><br><br>
password: <input type="password" name="password" value="<?php echo $password;?>"><span class="error"> <?php echo $passwderr;?></span><br><br>注册/登录:<input type="radio" name="check" <?php if (isset($check) && $check=="register") echo "checked";?>  value="register">Register<input type="radio" name="check" <?php if (isset($check) && $check=="login") echo "checked";?>  value="login">Login<span class="error"> <?php echo $checkerr;?></span><br><br><input type="submit" name="submit" value="Submit">
</form><?php echo "<h2>TEST OUTPUT:</h2>";echo"<br>";?><?php $servername="localhost";//设置数据库的连接相关信息$mysqluser="yourusername";//你当时安装mysql的时候设置的账户名$mysqlpasswd="yourpassword";//你当时注册的时候设置的密码$database="your_db_name";//你当时注册的时候的数据库名$db_conn = new mysqli($servername,$mysqluser,$mysqlpasswd,$database);//连接数据库if (!$db_conn) {die("数据库连接失败: " . mysqli_connect_error());//返回数据库的连接错误信息}echo "数据库连接成功";echo "<br>";if (!$usererr&&!$passwderr) //保证用户名和密码不能为空{if ($check=="register")//如果是采用注册的方式{$verify="SELECT USERNAME FROM USERINF WHERE USERNAME='".$username."'";//这里多加一个'".string."'的原因是保证SQL语句里面USERNAME是字符串。echo "<br>";$result = mysqli_query($db_conn,$verify);if (mysqli_fetch_all($result))//查看用户名是否存在echo "该用户名已注册!";else{$sql = "INSERT INTO userinf (username, password) VALUES ('".$username."','".$password."')";if ($db_conn->query($sql) === TRUE)//插入提交的表单数据{echo "用户注册成功!";} else {echo "Error: " . $sql . "<br>" . $db_conn->error;}  }mysqli_free_result($result); //释放结果集内存}if ($check=="login"){$verify1="SELECT USERNAME FROM USERINF WHERE USERNAME='".$username."'";echo "<br>";$result1 = mysqli_query($db_conn,$verify1);if (mysqli_fetch_all($result1))//查看用户名是否存在{$verify2="SELECT PASSWORD FROM USERINF WHERE USERNAME ='".$username."'";$result2 = mysqli_query($db_conn,$verify2);$row=mysqli_fetch_array($result2,MYSQLI_NUM);//输出Mysql数据表里面的对应用户名的密码来匹配if ($row[0]==$password)echo "登陆成功";else echo "密码错误";mysqli_free_result($result2); //释放结果集内存}else {echo "该用户名未注册,请检查用户名";}mysqli_free_result($result1); //释放结果集内存}}else echo "用户名和密码不能为空";$db_conn->close();?></body>
</html>

用php和mysql写一个注册登录页面相关推荐

  1. 用vue+element-ui快速写一个注册登录页面

    vue+element-ui可以快速开发一个页面,免除大部分的css代码. 一.用表单来做: 1.代码: <!--基本html代码区域--> <template><div ...

  2. 如何利用宝塔面板+JavaWeb+MySQL设计一个注册登录界面

    最近闲来无事,想设计一个网页注册登录的页面.因为看到好多人的毕业设计都是和JavaWeb有关的,所以不做白不做,咱们大三就给毕业设计开个头! 当然做一个网页不发布到服务器,难道数据库留给自己一个人看? ...

  3. HTML基础:用表单写一个简易登录页面

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...

  4. 使用原生js写一个简单的注册登录页面

    目录 1.注册页面 2.登录页面 1.首先是我们的注册页面 这是我们的html骨架  <!DOCTYPE html> <html lang="en">< ...

  5. 如何用spring boot写一个注册页面

    环境准备: java集成开发环境:IDEA 数据库:Mysql Maven 最好在安装有个navicat(数据库可视化界面) 安装好上述几个软件后 总结下:五步 1.创建新的工程 2.创建建appli ...

  6. 用Mysql写一个图书管理系统并且可视化

    要用MySQL写一个图书管理系统需要先创建数据库和表,然后编写Java代码进行连接,查询,插入等操作.同时,为了方便用户操作,可以通过可视化工具将数据以表格或者图形的形式展示出来.以下是一个简单的My ...

  7. SpringSecurity+Mybatis实现用户自助注册登录(含角色),打造简单安全的注册登录页面。

    #项目架构.功能点 架构: Springboot2.5.+ MySQL数据库8.0+(记录用户信息.角色清单.用户角色对照表) 持久层Mybatis 用户注册页面RegisterPage采用Thyme ...

  8. 原生js验证简洁美观注册登录页面

    本文转载自: https://www.cnblogs.com/storm-chou/p/6189489.html 作者:storm-chou 转载请注明该声明. 序 一个以js验证表单的简洁的注册登录 ...

  9. Android注册登录页面

    Android注册登录页面 需求 分析 项目目录 .java domain JsonBean.java UserInfo.java utils GetJsonDataUtil.java Login.j ...

最新文章

  1. JavaWeb总结(六)—Session
  2. python教程:列表推导式对比For循环执行效率
  3. python线程监控配置文件_一日一技:Python多线程的事件监控
  4. 全面了解Nginx到底能做什么
  5. kafaka生产者消费者demo(简易上手demo)
  6. 趣挨踢 | 阿里员工吐槽:我在阿里工作五年,面试一个小公司竟然挂了
  7. python实例 97,98
  8. U盘/硬盘/移动硬盘专家
  9. 【原创】brew 和 brew cask
  10. MATLAB 检验矩阵中是否有某些元素 对元素统计
  11. CSS修改iframe内的样式问题
  12. Sklearn——用Sklearn实现线性回归(LinearRegression)
  13. Win10右键添加获取管理员权限
  14. 澜起科技加速中国本土数据中心解决方案进程
  15. 16进制颜色转RGB颜色
  16. c语言实现鼠标驱动,鼠标驱动程序
  17. JavaScript全栈开发-工具篇
  18. 开源OceanBase如何与Prometheus与Grafana监控结合
  19. java雀圣麻将游戏_《梦幻麻将馆9雀圣争霸》全攻略
  20. linux centos安装scp,CentOS使用不了scp命令怎么办?

热门文章

  1. 1条命令解决不能完成此操作,因为项目“Karabiner-Elements”已被锁定
  2. 石油化工企业防雷工程和防雷接地应用方案
  3. 一文讲懂什么是 vlan、三层交换机、网关、DNS、子网掩码、MAC地址
  4. 文档管理软件在线编辑和协同
  5. 用计算机找女朋友,大学生必备远程软件:能找女朋友、玩游戏、赚零花钱
  6. windows上使用mkcert颁发证书
  7. 2021-03-21
  8. 文字生成图片html,根据文字生成图片
  9. 进阶:主流的cpu插槽类型详解
  10. 【Android玩机】跟大家聊聊面具Magisk的使用(安装、隐藏)