2012-04-26 185 views
0

我设计了一个注册表单,您可以看到here。它包括一个JavaScript验证脚本,除了检查用户名是否已经存在于MySQL数据库之外,它处理所有事情。验证以检查用户名是否已经存在于数据库中,而无需加载新页面

目前处理的方式是由提交表单时调用的单独的PHP页面(register.php),并检查MySQL数据库,如果用户名已存在,并且链接回到带有注册表单的html页面。

我想知道是否有一种方法来不必加载新的PHP页面,但当用户试图提交表单时附加一个错误信息到HTML表单(与所有其他验证一样)此用户名已存在。唯一的办法是这样做,没有单独的表单发布到PHP的PHP,而是将第二个文件中的所有PHP(连接到数据库,检查用户名并添加新用户)包含在main注册页面?

我希望这是明确的!

感谢,

尼克

+3

AJAX就是你要找的。 – Corbin 2012-04-26 21:43:39

+0

jquery ajax你可以用这个 – vvr 2012-04-27 08:36:49

回答

1

我假设你是在谈论一个Ajax请求?如果你不知道什么是前进和谷歌它,你会发现很多关于它的信息。

我总是使用一个像jQuery或dojo这样的javascript库,它使ajax变得更容易,但也许你不想为javascript的一点小用途添加整个javascript库的开销。

的基本前提是:

  1. 您的JavaScript发送请求到服务器,在这种情况下您的register.php页面。
  2. register.php文件以您在ajax请求中传递它的参数运行。
  3. javascript从register.php文件接收响应。在这种情况下,它很可能是最容易做的事情,如:

    • 如果用户名确实存在返回false,然后你的JavaScript函数可以使用一个回调弹出一个验证错误。

    • 如果用户名不存在,那么register.php文件可以注册/登录它们并返回true。然后JavaScript将用户重定向到他们应该去的页面,就好像在后台没有任何事情发生一样。

对于这里编码的目的是对我会怎么用jQuery做一些伪代码:

$.ajax({ 
    url:'register.php?username=theUsersName', 
    dataType:'html', 
    success:function(data){ 
    if (data) 
     --redirect to homepage 
    else 
     --pop up validation error 
    } 
}); 
+0

非常感谢。我现在使用ajax和jQuery。 – Nick 2012-04-27 21:02:48

相关问题