php数据库怎么获得表单(php如何把表单内容提交到数据库)
php数据库怎么获得表单
php如何把表单内容提交到数据库一般朋友们逛一些网站的时候,想使用网站或者看到更多网站里的内容,网站会要求用户进行新用户的注册,网站会把新用户的注册信息存入数据库中,需要的时候再进行提取。
这样网站就会首先创建自己的数据库和对应的表,我们这里使用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>" ; } } ?> |
朋友们可以自己动手进行各种操作和尝试,熟练以后就会对表单操作,数据库的操作有一定深入的理解,为以后的开发打下良好的基础。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/qq_36948778/article/details/80949421
- phpweb添加自定义模板(php静态化页面 htaccess写法详解htaccess怎么写?)
- phplaravel开发规范(Laravel解决nesting level错误和隐藏index.php的问题)
- dedecms手机独立域名(DedeCMS Wap.php 绑定域名的解决办法)
- phpstudy显示403(phpStudy配置多站点多域名方法及遇到的403错误解决方法)
- php微信公众号管理后台(php实现微信公众号创建自定义菜单功能的实例代码)
- php加密平台(PHP7实现和CryptoJS的AES加密方式互通示例AES-128-ECB加密)
- php返回数组值最大的键(PHP实现通过二维数组键值获取一维键名操作示例)
- php 支付系统(php 实现银联商务H5支付的示例代码)
- 织梦cms中的模块怎么设置(织梦CMS模板在runphp=yes的标签中调用其他field值的方法)
- php数组是怎么实现的(PHP里的$_GET数组介绍)
- thinkphp5框架怎么设置(thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例)
- thinkphp3.2.3 接口开发(ThinkPHP3.2.3框架Memcache缓存使用方法实例总结)
- 在php中与数据库连接的技术(PHP7.0连接DB操作实例分析基于mysqli)
- 怎么用单元测试php(PHP使用phpunit进行单元测试示例)
- phpstudymysql数据库启动不了(phpstudy mysql启动不了的解决方法)
- 安装phpstudy注意哪些问题(phpstudy怎么卸载?phpstudy卸载图文教程)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
- 越南没事(越南没事情做)
热门推荐
- c语言可以实现python所有功能吗(Python实现的调用C语言函数功能简单实例)
- sqlserver乐观锁与悲观锁(sql server中死锁排查的全过程分享)
- python使用django搭建简单网页(Python后台开发Django的教程详解启动)
- 如何让网站在360浏览器自动以极速模式显示
- thinkphp源码上传(ThinkPHP框架实现FTP图片上传功能示例)
- docker部署带配置的镜像(docker安装fastdfs镜像的一些注意事项)
- vscode报错提示框(关于在vscode使用webpack指令显示"因为在此系统中禁止运行脚本"问题)
- apache跳转配置(Apache 的 order deny allow 设置说明)
- docker中的mongodb(Docker mongoDB 4.2.1 安装并收集springboot日志的步骤详解)
- 如何在vscode中运行linux(解决VScode配置远程调试Linux程序的问题)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9