如何在提交之前检查SQL数据库的输入值?

时间:2011-06-21 05:38:17

标签: javascript mysql forms input runtime

我希望能够在提交之前检查用户名是否尚未使用。我曾考虑使用Javascript来获取输入字段的值,但我如何将其与我的SQL数据库进行比较?

基本上,问题归结为几个不同的问题:

  1. 我可以通过PHP BEFORE提交来以某种方式获取输入字段的值吗?

  2. 如果没有,那我可以在PHP中以某种方式使用Javascript变量吗?

  3. 如果没有,我还能做些什么吗?

  4. 如果我不能这样做,那没什么大不了的,我总是看到网站检查一个字段是否是有效的运行时,而不是必须重新加载页面或转到错误页面,这是一些东西我当然也想做。

    注意:我已经知道如何检查是否有用户名,我只是想知道我是否可以运行它,所以没有必要为我提供SQL代码哈哈。

    谢谢!

2 个答案:

答案 0 :(得分:1)

Anon是对的。 你必须为此目的使用ajax。你不能简单地在php中使用你的javascript变量。 在javascript验证中使用ajax,如果数据库中已存在用户名,则抛出警告消息。

供参考,请查看此链接 http://www.9lessons.info/2008/12/twitter-used-jquery-plug-in.htmlhttp://web.enavu.com/tutorials/checking-username-availability-with-ajax-using-jquery/

答案 1 :(得分:0)

您可以使用ajax实现这一目标。以下示例使用JQuery及其ajax函数。 服务器端脚本必须由您编写,并应根据您的数据库检查提供的用户名。

$.ajax({
  type: "POST",
  url: "your_ajax_function.php",
  data: "username=" + $('#id_of_username_input'),
  success: function(retval){
    if (retval == true)
      // Username not in use, tell your visitor
    else {
      // Username in use, tell your visitor to change
    }
  }
}};

returnvalue取决于您的服务器端脚本,可能恰好相反。你可以随意回报。