AJAX 实时电子邮件验证 (PHP)

Posted

技术标签:

【中文标题】AJAX 实时电子邮件验证 (PHP)【英文标题】:AJAX live email validation (PHP) 【发布时间】:2010-10-11 10:08:17 【问题描述】:

当用户在我的网站上创建帐户时,我希望根据我的数据库 (mysql) 中的所有当前用户名检查输入用户名,并确认它是否可用。

有谁知道我可以使用的任何好的库,或者 jQuery 的插件?

【问题讨论】:

【参考方案1】:

您想要的内容在示例表单here 中给出。它使用 jQuery 作为 javascript

【讨论】:

您将如何自定义它以检查是否正确提交了电子邮件?【参考方案2】:

这是未经测试的服务器端代码

<?php
// check_username_available.php?name=(name they supplied)

// this stuff is normally in config.inc.php
$username = "...";  // Mysql username 
$password = "...";  // Mysql password 
$db_name = "...";   // Database name 

// get name supplied from querystring
$name = $_GET('name');

// Connect to server and select database.
//
mysql_connect("localhost", $username, $password) or die("cannot connect to db"); 
mysql_select_db($db_name) or die("cannot select $db_name DB");

$query = "SELECT COUNT(*) FROM 'users' WHERE user_name = '$name'";
$result = mysql_query($query) or die("cannot count rows: " . mysql_error());

header("Content-Type: text/plain");
echo ( 0 < mysql_result($result, 0) ? "false" : "true" );

【讨论】:

【参考方案3】:

创建一个以用户名作为参数的 PHP 文件。然后通过 jquery 中的 $.get 方法传递它。然后返回一个变量(在我的例子中称为数据)该变量将包含 PHP 文件打印的任何内容。

$.get("ajax_available.php?u="+username, function(data)
    if(data == "true")
    
        // username avaiable
            $("#usernameAlert").html("<img src='images/icons/accept.png' 
               title='Laust' /> Username available");
    
    else
    
        // username not avaiable
    
);

在这个例子中,我的 php 文件返回字符串“true”,但这只是一个简单的例子。

【讨论】:

以上是关于AJAX 实时电子邮件验证 (PHP)的主要内容,如果未能解决你的问题,请参考以下文章

使用 JQuery、Ajax、PHP、Json 进行表单验证

使用 JQuery Ajax 进行电子邮件验证

使用 php 和 ajax 进行登录表单验证

我可以只使用 jQuery 验证还是需要 PHP? [关闭]

PHPMailer() ajax 请求

PHP邮件函数发送电子邮件,但AJAX函数出错