【发布时间】:2010-07-01 19:03:43
【问题描述】:
当访问者在我的网站上注册时,他们将作为群组的创始成员或作为加入现有群组的人进行注册。没有人是“无群体”的。我有一个包含以下字段的注册页面:名字,姓氏,(选择组类型的单选按钮:新的或现有的),组名,组密码,电子邮件,通过,确认通过。我特别关心单选按钮、组名和组密码。
我正在寻找的具体功能是这样的:
如果选择“新建”,AJAX 会检查数据库中是否存在组名,显示“良好”或“已采用”。另外:提交表单时,密码保存到数据库。
如果选择“Existing”,AJAX 会检查 db 中是否存在组名,显示“Matched”或“Non-existent”。另外:提交表单时,会根据数据库检查密码。
我想我已经掌握了这方面的基础知识,但是如何让单选按钮指示这么多内容却超出了我的范围。任何帮助,将不胜感激。
以下是我的 php 文件的表单部分。 (顺便说一句,我一直在为这个项目写mysqli。)
<h1>Register</h1>
<form action="register.php" method="post">
<fieldset>
<p><b>First Name:</b> <input type="text" name="first_name" size="20" maxlength="20" value="<?php if (isset($trimmed['first_name'])) echo $trimmed['first_name']; ?>" /></p>
<p><b>Last Name:</b> <input type="text" name="last_name" size="20" maxlength="40" value="<?php if (isset($trimmed['last_name'])) echo $trimmed['last_name']; ?>" /></p>
<p><b>Are you registering a new group or joining an existing group?</b> <br />
New:<input type="radio" value="new" name="gtype">
Existing:<input type="radio" value="existing" name="gtype"> </p>
<p><b>Group ID:</b> <input type="text" name="group_id" size="20" maxlength="40" value="<?php if (isset($trimmed['group_id'])) echo $trimmed['group_id']; ?>" /></p>
<p><b>Group Password:</b> <input type="password" name="gpass" size="8" maxlength="5" />
<small>Use only numbers. Must be 5 digits long.</small></p>
<p><b>Email Address:</b>
<input type="text" name="email" size="30" maxlength="80" value="<?php if (isset($trimmed['email'])) echo $trimmed['email']; ?>" onBlur='checkEmail(this)'/><span id='info'></span></p>
<p><b>User Password:</b>
<input type="password" name="password1" size="8" maxlength="4" />
<small>Use only numbers. Must be 4 digits long.</small></p>
<p><b>Confirm Password:</b> <input type="password" name="password2" size="4" maxlength="4" /></p>
</fieldset>
<div align="center"><input type="submit" name="submit" value="Register" /></div>
<input type="hidden" name="submitted" value="TRUE" />
</form>
【问题讨论】:
-
If "Existing" is selected, AJAX checks if group name exists in db在提交表单时不要忘记再次进行同样的检查,否则会出现安全漏洞。
标签: php javascript mysql ajax