php如何把表单内容提交到数据库


Posted in PHP onJuly 08, 2019

一般朋友们逛一些网站的时候,想使用网站或者看到更多网站里的内容,网站会要求用户进行新用户的注册,网站会把新用户的注册信息存入数据库中,需要的时候再进行提取。

这样网站就会首先创建自己的数据库和对应的表,我们这里使用php创建一个简单的数据库和表,使用phpMyAdmin来创建MySql数据库和表。例如创建一个test数据库,其示例的代码如下所示:

<?php
// 创建连接
$conn = new mysqli("localhost", "uesename", "password");
// 检测连接
if ($conn->connect_error)
{ 
 die("连接失败: " . $conn->connect_error);}
 // 创建数据库
 $sql = "CREATE DATABASE test";
  if ($conn->query($sql) === TRUE)
  { 
  echo "数据库创建成功";
  } else { 
  echo "Error creating database: " . $conn->error;
  }
 $conn->close();
?>

然后使用CREATE TABLE 语句用于创建 MySQL 表,设置如下几个字段。

  • id : 它是唯一的,类型为 int ,并选择主键。
  • uesrname : 用户名,类型为 varchar, 长度为30。
  • password : 密码,类型为 varchar, 长度为30。
  • confirm:确认密码,类型为 varchar, 长度为30。
  • email : 邮箱,类型为 varchar, 长度为30。

接着使用sql语句来创建数据库表,其代码显示如下:

<?php
 // 创建连接
 $conn = new mysqli("localhost", "uesename", "password","test");
 // 检测连接
 if ($conn->connect_error)
 { 
 die("连接失败: " . $conn->connect_error);
 }
 // 使用 sql 创建数据表
 $sql = "CREATE TABLE login (
 id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(30) NOT NULL,
 password VARCHAR(30) NOT NULL,
 confirm VARCHAR(30) NOT NULL,
 email VARCHAR(30) NOT NULL,
 )ENGINE=InnoDB DEFAULT CHARSET=utf8 ";
 if ($conn->query($sql) === TRUE)
 { 
 echo "Table MyGuests created successfully";
 } else { 
 echo "创建数据表错误: " . $conn->error;
 }
 $conn->close();
?>

上面我们创建好了数据库和表,下面建立一个简单的表单注册的前端页面,这里的表单页面很简单,用户名,密码,密码确认,注册邮箱等等几个简单的文本框。其代码如下:

<!DOCTYPE html>
<html>
<head>
 <title>用户注册页面</title>
 <meta charset="UTF-8"/>
 <style type="text/css">
 *{margin:0px;padding:0px;}
 ul{
  width:400px;
  list-style:none;
  margin:50px auto;
 }
 li{
  padding:12px;
  position:relative;
 }
 label{
  width:80px;
  display:inline-block;
  float:left;
  line-height:30px;
 }
 input[type='text'],input[type='password']{
  height:30px;
 }
 img{
  margin-left:10px;
 }
 input[type="submit"]{
  margin-left:80px;
  padding:5px 10px;
 }
 </style>
</head>
<body>
<form action="zhuce.php" method="post">
 <ul>
 <li>
  <label>用户名:</label>
  <input type="text" name="username" placeholder="请输入注册账号"/>
 </li>
 <li>
  <label>密 码:</label>
  <input type="password" name="password" placeholder="请输入密码" />
 </li>
 <li>
  <label>确认密码:</label>
  <input type="password" name="confirm" placeholder="请再次输入密码" />
 </li>
 <li>
  <label>邮 箱:</label>
  <input type="text" name="email" placeholder="请输入邮箱"/>
 </li>
 <li>
  <input type="submit" value="注册" />
 </li>
 </ul>
</form>
</body>
</html>

接下来就需要使用php代码来实现新用户提交的信息给提交到数据库,使用POST方式进行值的传递和获取。

首先需要连接前面创建完成的数据库和表,因为新用户注册的用户名,密码等信息需要保存到表中的对应字段里面。存入数据库表之前先对提交的数据进行一些判断验证,比如不符合要求的用户名,邮箱等需要有过滤和错误的提示,还要防止用户名如果被其他用户注册,则需要提示您将不能再使用这个用户名,这是先读取数据库已经存在的用户名,然后进行判断。

简单来说就是将表单提交的数据都存入变量,然后进行密码和验证码的判断,都正确以后,将用户信息存入数据库并将数据库存放用户信息的表中所有数据提取打印出来。说白了,后半句就是数据存入和提取。其具体的代码如下所示:

<?php
session_start();
header("Content-type:text/html;charset=utf-8");
$link = mysqli_connect('localhost','root','root','test');
if (!$link) {
 die("连接失败:".mysqli_connect_error());
}
$username = $_POST['username'];
$password = $_POST['password'];
$confirm = $_POST['confirm'];
$email = $_POST['email'];
if($username == "" || $password == "" || $confirm == "" || $email == "")
{
 echo "<script>alert('信息不能为空!重新填写');window.location.href='zhuce.html'</script>";
} elseif ((strlen($username) < 3)||(!preg_match('/^\w+$/i', $username))) {
 echo "<script>alert('用户名至少3位且不含非法字符!重新填写');window.location.href='zhuce'</script>";
 //判断用户名长度
}elseif(strlen($password) < 5){
 echo "<script>alert('密码至少5位!重新填写');window.location.href='zhuce.html'</script>";
 //判断密码长度
}elseif($password != $confirm) {
 echo "<script>alert('两次密码不相同!重新填写');window.location.href='zhuce.html'</script>";
 //检测两次输入密码是否相同
} elseif (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $email)) {
 echo "<script>alert('邮箱不合法!重新填写');window.location.href='zhuce.html'</script>";
 //判断邮箱格式是否合法
} elseif(mysqli_fetch_array(mysqli_query($link,"select * from login where username = '$username'"))){
 echo "<script>alert('用户名已存在');window.location.href='zhuce.html'</script>";
} else{
 $sql= "insert into login(username, password, confirm, email)values('$username','$password','$confirm','$email')";
 //插入数据库
 if(!(mysqli_query($link,$sql))){
 echo "<script>alert('数据插入失败');window.location.href='zhuce.html'</script>";
 }else{
 echo "<script>alert('注册成功!)</script>";
 }
}
?>

朋友们可以自己动手进行各种操作和尝试,熟练以后就会对表单操作,数据库的操作有一定深入的理解,为以后的开发打下良好的基础。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
十天学会php(2)
Oct 09 PHP
杏林同学录(四)
Oct 09 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 PHP
php利用array_search与array_column实现二维数组查找
Jul 08 #PHP
php实现获取近几日、月时间示例
Jul 06 #PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 #PHP
php使用filter_var函数判断邮箱,url,ip格式示例
Jul 06 #PHP
php中isset与empty函数的困惑与用法分析
Jul 05 #PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 #PHP
php无限极分类实现方法分析
Jul 04 #PHP
You might like
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
用JS实现的一个include函数
2007/07/21 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
python基于phantomjs实现导入图片
2016/05/13 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
python最长回文串算法
2018/06/04 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
大专自我鉴定范文
2013/10/23 职场文书
学习心得体会
2014/01/01 职场文书
请假条范文大全
2014/04/10 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
端午节演讲稿
2014/05/23 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
php引用传递
2021/04/01 PHP