1

我设计了一个注册表单,您可以在此处查看。它包括一个 javascript 验证脚本,它处理除了检查用户名是否已存在于 MySQL 数据库中之外的所有内容。

当前处理这种情况的方式是通过一个单独的 PHP 页面 (register.php) 在提交表单时调用,并检查 MySQL 数据库,如果用户名已经存在,则显示一些文本,并带有返回 html 页面的链接登记表上。

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

我希望这很清楚!

谢谢,

缺口

4

2 回答 2

3

我假设你在谈论一个ajax请求?如果您不知道那是什么,请继续使用 Google 搜索,您会找到大量相关信息。

我总是使用 jQuery 或 dojo 之类的 javascript 库,这使 ajax 更容易,但也许您不想为了一点 javascript 使用而增加整个 javascript 库的开销。

基本前提是:

  1. 您的 javascript 向服务器发送请求,在这种情况下发送到您的 register.php 页面。
  2. register.php 文件使用您在 ajax 请求中传递的参数运行。
  3. 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
  }
});
于 2012-04-26T22:34:42.837 回答
0

我认为这正是您正在寻找的:

http://www.99points.info/2010/06/live-availability-checking-with-ajax-and-jquery/

于 2012-04-27T08:32:31.500 回答