前几天写了个的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的写入语句写进数据库,写入则提示:注册成功,否则就提示:注册失败。就是这样。今天又学会了一个东西,加油。