PHP上传表单到MySQL

前几天写了个的HTML的表单但是苦于自己的MySQL还没弄好,相关知识也缺乏,所以就把它晾在那了,去看了一点关于mysql的知识和一些相关的博客,后来就迫不及待的准备实施在自己的web服务器上了,第一个晚上写了一点PHP的代码,一边看别人博客上的介绍,自己也慢慢的有了一些思路,然后自己也一遍写代码一边改代码,修修改改终于好了,然后就是数据库那边,自己创建了一个数据库,如图:

也不知道你们能不能看清,反正我能看清楚,上面是我之前创建的一个数据库是个中文命名的数据库,大佬都是英文命名的,我这种菜鸡就用中文吧,英文多了自己也不知道自己写的些什么玩意,相关编码我也设置成了utf8的编码,所以没乱码,查看编码如下:

看,菜鸡的我早想到我会全部用中文字符,所以就全部设置成uft8了,言归正传。

创建了数据库之后又创建了也是中文命名的表单,当然,这个表单在我创建的数据库里面,所以我还需要切换数据库:

如图,切换数据库use {库名}之后才查询有哪些表单,刚开创建数据库之后他也不会自动切换到新创建的数据库,所以需要自己手动切换,use {库名}命令是少有的几个不用输入结尾符号“;”的命令,输入之后切换了数据库,然后查看有哪些表单,show tables;这里未知的数据库还是表单都需要加复数,当初也是英语没学好,不知道你们需不需要我提醒,查看到有“用户注册”的一个表单,查看表单详情,属于规则哈,不是数据详情哈,describe {表名}; 我们看到相关属性,账号,昵称,密码,QQ,其中账号写数据时数据格式为int ,不允许为空,设置为主键,默认为空,自动增加值,昵称、密码、QQ均为text类型,也是都不允许为空,默认为空。当初创建表的时候是这样的。

这是我电脑上的mysql输入的,我还没改字符就用英文将就一下,bname代表表名称,id代表编号,name代表昵称,password代表密码,QQ就是QQ了,以这样的样子定义的。

表格就这样创建好了,接下来插入一条数据,

如图,使用iinsert语句插入了一条数据,查询一下数据,按照先后顺序就是第六条了,

证明数据库没问题了,现在回到相关的html与php页面.

PHP相关代码:

 1 <?php
 2 session_start();
 3     if(isset($_POST["button"]))
 4     {
 5         $name=$_POST["name"];
 6         $password1=$_POST["password1"];
 7         $password2=$_POST["password2"];
 8         $qq=$_POST["qq"];
 9         //判断字符长度
10         function utf8_strlen($string=null)
11         {
12             preg_match_all("/./us" ,$string,$match);
13             return count($match[0]);
14         }
15         //判断昵称长度
16         if(utf8_strlen($name)>=7|utf8_strlen($name)<=1)
17             $nameerr="昵称不符合规则";
18         //判断密码长度
19         elseif(utf8_strlen($password1)<8|utf8_strlen($password1)>16)
20             $passworderr1="密码不符合规则";
21         //判断密码是否一致
22         elseif($password1!=$password2)
23             $passworderr2="密码不一致";
24         //判断qq格式
25         elseif(utf8_strlen($qq)<5|utf8_strlen($qq)>11)
26             $emailerr="不符合QQ号格式";
27         else {
28             //连接数据库
29             $conn=mysqli_connect("localhost","账号","密码");
30             if(!$conn)
31             //赋值提醒
32               $nameerr=$passworderr1=$passworderr2=$qqerr="注册失败,请联系站长!";
33             elseif($conn){
34                 $use="use 初璃兮微";
35                 if(mysqli_query($conn,$use)){
36                     $name=$_POST["name"];
37                     $password=$_POST["password1"];
38                     $qq=$_POST["qq"];
39                     $sql_insert="insert into 用户注册(昵称,密码,QQ) values('{$name}','{$password1}','{$qq}')";  
40                     if(mysqli_query($conn,$sql_insert))
41                         $nameerr=$passworderr1=$passworderr2=$qqerr="注册成功";
42                     else $nameerr=$passworderr1=$passworderr2=$qqerr="注册失败";
43                 }
44                 else{
45                     echo "注册失败";
46                 }
47             }
48         }
49         
50     }
51 ?>

HTML相关代码:

 1 <form action="" method="post" onsubmit="return checklength">
 2 <li>
 3 <label>会员昵称:</label>
 4 <input value="<?php if(!empty($_POST['name'])) echo $_POST['name'] ?>" type="text" name="name" maxlength="6" min="2" class="text" placeholder="2-6位中文/数字/英文"/>
 5 <span class="tixing">*<?php echo $nameerr;?></span>
 6 </li>
 7 <li>
 8 <label>登录密码:</label>
 9 <input value="<?php if(!empty($_POST['password1'])) echo $_POST['password1'] ?>" type="password" name="password1" maxlength="16" min="8" class="text" placeholder="8-16位符号/数字/英文"/>
10 <span class="tixing">*<?php echo $passworderr1;?></span>
11 </li>
12 <li>
13 <label>确认密码:</label>
14 <input value="<?php if(!empty($_POST['password2'])) echo $_POST['password2'] ?>" type="password" name="password2" maxlength="16" class="text" min="8" placeholder="再次输入密码"/>
15 <span class="tixing">*<?php echo $passworderr2;?></span>
16 </li>
17 <li>
18 <label>关联QQ :</label>
19 <input value="<?php if(!empty($_POST['qq'])) echo $_POST['qq'] ?>" type="text" name="qq" maxlength="11" min="5" class="text" placeholder="用于找回密码与关联头像"/>
20 <span class="tixing">*<?php echo $qqerr;?></span>
21 </li>
22 <li>
23 <label>会员性别:</label>
24 <input type="radio" name="xingbie" value="nan" checked="checked"/><img src="ziyuan/Male.gif" /> 
25 <input type="radio" name="xingbie" value="nv"/><img src="ziyuan/Female.gif"/>
26 </li>
27 <li>
28 <label>基础情况:</label>
29 <input type="radio" name="qk" value="value" checked="checked"/><label>兴趣</label>
30 <input type="radio" name="qk" value="value"/><label>专职在岗</label>
31 <input type="radio" name="qk" value="value"/><label>专业学生</label>
32 </li>
33 <li>
34 <label>出生日期:</label>
35 <input type="date" name="date" class="text">
36 </li>
37 <li>
38 <span class="tixing">*星号红色代表必填写字段</span><br /><br />
39 <input type="submit" value="同意以下条款并提交注册信息" class="anniu" name="button"/>
40 <input type="reset" value="重置" class="anniu"/>
41 </li><br /><br />
42 <li>
43 <img src="ziyuan/read.gif"/>阅读《条款协议》
44 </li>
45 <li class="xieyi">
46 <textarea class="xieyi">本协议由您与网站制作人共同缔结,本协议具有合同效力。本协议中协议双方合称协议方,网站制作人在协议中亦成为“初璃兮微”。本协议中“官方平台”指由初璃兮微运营的网络交易平台,包括网站,域名为*****。平台商城,域名为待定;</textarea>
47 </li>
48 </form>

html的表单采用post提交,交给post之后处理流程就是先检测格式是否符合,不符合就提醒,html页面提醒在编辑行后面span标签上有相关代码,当然为了防止提交失败之后表单被刷新,我就添加了默认值,也就是html的value后面的代码。这个是重点,需要记住,以后可能还会经常用到,嘿嘿,然后PHP代码检测如果都符合条件,那么就执行最后一项,交给服务器处理,连接到MySQL,连接失败提示:”注册失败,请联系站长”,连接成功执行下一步,切换数据库的变量,采用mysqli_query函数来连接,切换数据库,切换成功把表单的数据存进相关变量,然后采用myql的写入语句写进数据库,写入则提示:注册成功,否则就提示:注册失败。就是这样。今天又学会了一个东西,加油。

posted on 2021-01-10 05:40  狐小妖  阅读(247)  评论(0编辑  收藏  举报