七、注册页面实现
PHP经典项目案例-(一)博客管理系统4
本篇使用Ajax实现页面无刷新验证用户名是否存在。
七、注册页面实现
1、注册页面设计
register.php部分代码:
<tr> <!-- 注册表 --> <td colspan="3" valign="baseline" style="BACKGROUND-IMAGE: url( images/bg.jpg); VERTICAL-ALIGN: middle; HEIGHT: 450px; TEXT-ALIGN: center"> <br> <form name="myform" action="register_deal.php" method="post"> <table width="85%" border="1" align="center" cellpadding="3" cellspacing="2" bordercolor="#FFFFFF" bgcolor="#FFFFFF" class="i_table"> <tr align="left" bgcolor="#EFF7DE"> <td height="22" colspan="2" bgcolor="#EFF7DE" class="right_head"><span class="tableBorder_LTR">必填内容</span></td> </tr> <tr bgcolor="#FFFFFF"> <td width="22%" align="right" valign="middle" class="'f_one'"> 用户名</td> <td width="78%" align="left" class="'f_one'"> <input name="'txt_regname'" type="text" id="txt_regname" value="''" size="20" maxlength="14" onblur="javascript:chkUserName();"> <label id="l1">*</label><label id="ll1" class="label2"></label> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle"> 真实姓名</td> <td align="left"> <input name="'txt_regrealname'" type="'text'" id="txt_regrealname" size="'20'" maxlength="'75'" onblur="javascript:chkRealName()"> <label id="l4">*</label><label id="ll4" class="label2"></label> </td> </tr> <tr> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle"> 密码</td> <td align="left"> <input name="'txt_regpwd'" type="'password'" id="txt_regpwd" size="20" maxlength="75" onblur="javascript:chkPwd();"> 英文字母或数字等不少于3位<label id="l2">*</label><label id="ll2" class="label2"></label> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle"> 确认密码</td> <td align="left"> <input name="'txt_regpwd2'" type="'password'" id="txt_regpwd2" size="20" maxlength="75" onblur="javascript:chkRePwd()"> <label id="l3">*</label><label id="ll3" class="label2"></label> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right"> 出生日期</td> <td align="left"> <span class="word_grey"> <input name="txt_birthday" type="text" id="birth" onblur="javascript:chkBirth()"> (日期格式为:yyyy-mm-dd)<label id="l6">*</label><label id="ll6" class="label2"></label></span> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle"> Email</td> <td align="left"> <input name="txt_regemail" type="text" id="txt_regemail" value="''" size="35" maxlength="75" onblur="javascript:chrEmail()"> <font color="'#000000'">公开邮箱 <label id="l5">*</label><label id="ll5" class="label2"></label></font> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right">所在城市</td> <td align="left"> <select name="txt_province" id="txt_province" onchange="javascript:initcity();"> <script>creatprovince();</script> </select> <select name="txt_city" id="txt_city"> </select> <font color="red">*</font> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle" class="'f_one'"> 选择头像:</td> <td align="left" class="'f_one'"><table width="106" cellpadding="0" cellspacing="0"> <tr> <td width="10" height="47"> </td> <td width="80"><img src="images/head/0.gif" name="img" id="image" style="max-width:90%" style="max-width:90%" alt="七、注册页面实现" ></td> <td width="53" rowspan="2" align="center"><font color="red">*</font></td> </tr> <tr> <td> </td> <td> <select name="txt_ico" size="1" id="txt_ico" onchange="javascript:showlogo()"> <option value="0.gif" selected>头像1 </option> <option value="1.gif">头像2 </option> <option value="2.gif">头像3 </option> <option value="3.gif">头像4</option> <option value="4.gif">头像5</option> <option value="5.gif">头像6</option> </select> </td> </tr> </table></td> </tr> <tr align="left" bgcolor="#EFF7DE"> <td height="22" colspan="2" class="right_head"><span class="tableBorder_LTR">选填内容</span></td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" class="'f_one'"> 性别</td> <td align="left" class="'f_one'"> <select name="txt_regsex" id="txt_regsex"> <option value="1">男</option> <option value="2">女</option> <option value="0" selected>保密</option> </select> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" class="'f_one'">QQ</td> <td align="left" class="'f_one'"><input name="'txt_regqq'" type="text" id="txt_regqq" value="''" size="20" maxlength="14"></td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" class="'f_one'"> 个人主页</td> <td align="left" class="'f_one'"> <input name="'txt_reghomepage'" type="text" id="txt_reghomepage" value="''" size="40" maxlength="75"> </td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" valign="middle" class="'f_one'">个性化签名</td> <td align="left" class="'f_one'"><textarea name="'txt_regsign'" cols="50" rows="'4'" id="txt_regsign"></textarea></td> </tr> <tr bgcolor="#FFFFFF"> <td align="right" class="'f_one'"> 自我简介</td> <td align="left" class="'f_one'"><textarea name="txt_regintroduce" cols="50" rows="4" id="txt_regintroduce"></textarea></td> </tr> </table> <br> <input type="'submit'" name="'regsubmit'" value="'提" onclick="return check()"> <input name="reset" type="reset" class="btn_grey" value="重 填"> </form> </td> </tr>
2、输入框失去焦点后调用的javascript函数实现:fun.js:
function chkUserName(){ var c = document.getElementById('txt_regname'); var d = c.value; var id; if(d==""){ document.getElementById('l1').innerText="请输入用户名"; document.getElementById('ll1').innerText=""; }else{ var xmlObj; xmlObj = new XMLHttpRequest(); xmlObj.open('POST','chk.php?d='+d,true); xmlObj.onreadystatechange = callBackFun; xmlObj.send(null); function callBackFun() { if(xmlObj.readyState == 4&&xmlObj.status ==200){ if(xmlObj.responseText=='y'){ document.getElementById('l1').innerText="×"; document.getElementById('ll1').innerText=""; }else{ document.getElementById('l1').innerText=""; document.getElementById('ll1').innerText="√"; } } } }}function chkRealName(){ var c = document.getElementById('txt_regrealname'); var d = c.value; if(d==""){ document.getElementById('l4').innerText="请输入真实姓名"; document.getElementById('ll4').innerText=""; }else{ document.getElementById('l4').innerText=""; document.getElementById('ll4').innerText="√"; }}function chkPwd(){ var p = document.getElementById('txt_regpwd').value; var c = document.getElementById('ll1').innerText; if(c=="√"){ if(p==""){ document.getElementById('l2').innerText="请输入密码"; } else if(p.length<br><h2 id="Ajax验证用户名使用的处理文件chk-php">3、Ajax验证用户名使用的处理文件chk.php:</h2><p>'</p><pre name="code" class="php"><?php require_once 'Conn/SqlHelper.class.php'; $chk = $_REQUEST['d']; $sqlHelper = new SqlHelper(); $sql = "select * from tb_user where regname='$chk';"; $res = $sqlHelper->execute_dql($sql); $s = $res->fetch_assoc(); if(count($s)!=0){ echo 'y'; }else{ echo 'n'; }
4、注册后将用户添加到数据库registerdeal.php
<?phpsession_start ();include "Conn/SqlHelper.class.php";$sqlHelper = new SqlHelper();$UserName=$_POST['txt_regname'];$sql="select * from tb_user where regname = '$UserName'";$res = $sqlHelper->execute_dql($sql);$result=$res->fetch_assoc();if (count($result)!=0){ echo ("<script>alert('用户名已被注册!');history.go(-1);</script>"); exit();}$_SESSION['username']=$_POST['txt_regname'];$regname=$_POST['txt_regname'];$regrealname=$_POST['txt_regrealname'];$regpwd=$_POST['txt_regpwd'];$regbirthday=$_POST['txt_birthday'];$regemail=$_POST['txt_regemail'];$regcity=$_POST['txt_province'].$_POST['txt_city'];$regico=$_POST['txt_ico'];$regsex=$_POST['txt_regsex'];$regqq=$_POST['txt_regqq'];$reghomepage=$_POST['txt_reghomepage'];$regsign=$_POST['txt_regsign'];$regintroduce=$_POST['txt_regintroduce'];$ip=getenv(REMOTE_ADDR);$sql = "Insert Into tb_user (regname,regrealname,regpwd,regbirthday,regemail,regcity,regico,regsex,regqq,reghomepage,regsign,regintroduce,ip,fig)"." Values ('$regname','$regrealname','$regpwd','$regbirthday','$regemail','$regcity','$regico','$regsex','$regqq','$reghomepage','$regsign','$regintroduce','$ip',0)";$INS=$sqlHelper->execute_dml($sql);echo "<script> alert('用户注册成功!');</script>";echo "<script> window.location='index.php';</script>";?>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

watch4pro和gt各自具有不用的特点和适用场景,如果注重功能的全面性、高性能和时尚外观,同时愿意承担较高的价格,那么Watch 4 Pro可能更适合。如果对功能要求不高,更注重电池续航和价格的合理性,那么GT系列可能更适合。最终的选择应根据个人需求、预算和喜好来决定,建议在购买前仔细考虑自己的需求,并参考各种产品的评测和比较,以做出更明智的选择。

getElementById可以通过元素的id属性获取对应的HTML元素,进而方便地对其进行操作和修改。无论是动态地改变元素的内容、样式或者是添加事件监听器,getElementById都是一个非常常用的方法 。

如何使用iPadOS17.4优化iPad电池寿命延长电池续航时间是移动设备体验的关键,iPad是一个很好的例子。如果您觉得iPad电池消耗速度过快,不用担心,在iPadOS17.4中有许多技巧和调整可以显着延长设备的运行时间。本深入指南的目标不仅仅是提供信息,而是改变您使用iPad的方式,增强您的整体电池管理,并确保您可以在无需充电的情况下更长时间地依赖您的设备。通过采用此处概述的做法,您朝着更高效、更谨慎地使用技术迈出了一步,这些技术是根据您的个人需求和使用模式量身定制的。识别主要的能量消耗者

每个人都在期待今天的Windows1123H2发布。事实上,Microsoft刚刚启动了对发布预览版的更新,这是正式发布阶段之前最接近的频道。被称为Build22631的Microsoft表示,他们正在推出新的更名聊天应用程序,电话链接和一起玩小部件,这些小部件在过去几个月中已在其他内部渠道中进行了测试。“这个新的更新将具有与Windows11版本22H2相同的服务分支和代码库,并将与所有新宣布的功能累积,包括Windows中的Copilot(预览版),”Microsoft承诺。雷德蒙德官员进一
