我设计了一个注册表单,您可以看到here。它包括一个javascript验证脚本,除了检查MySQL数据库中是否已存在用户名外,还处理所有内容。
当前处理的方式是通过一个单独的PHP页面(register.php),在提交表单时调用,并检查MySQL数据库,如果用户名已经存在,并且链接返回到html,则会显示一些文本页面上有注册表格。
我想知道是否有办法不必加载新的PHP页面,但是当用户尝试提交表单但用户名时,会向html表单附加一条错误消息(与所有其他验证一样)已经存在。唯一的方法是没有表单发布的单独的PHP,而是包含第二个文件中的所有PHP(连接到数据库,检查用户名,并添加新用户)注册页面?
我希望这很清楚!
谢谢,
尼克
答案 0 :(得分:1)
我假设你在谈论一个ajax请求?如果你不知道它是什么,谷歌它会发现很多信息。
我总是使用像jQuery或dojo这样的javascript库,这使得ajax变得更加容易,但也许你不想为整个javascript库增加一些javascript使用的开销。
基本前提是:
javascript接收来自register.php文件的响应。在这种情况下,最简单的做法是:
如果用户名确实存在,则返回false,然后您的javascript函数可以在回调中使用以弹出验证错误。
如果用户名不存在,则register.php文件可以注册/登录,并返回true给javascript。然后,javascript会将用户重定向到他们应该去的页面,好像在后台没有发生任何事情。
为了编码目的,这里有一些关于如何用jQuery做的伪代码:
$.ajax({
url:'register.php?username=theUsersName',
dataType:'html',
success:function(data){
if (data)
--redirect to homepage
else
--pop up validation error
}
});
答案 1 :(得分:0)