-3

( JQuery Validateプラグインwikiから) Remember theMilkSignupフォームの検証例を再現しようとしています。特にユーザー名のリモート検証用。例を確認すると、下部に2つのリンクが表示されます。1つはクライアント側のリンクで、もう1つはサーバー側のコードです。2番目のものは機能していません(私が試した3つのブラウザーすべてで)。

それで、誰かがこのサーバー側のコード、それへのリンク、または提供されたクライアント側のコードで動作する互換性のある代替手段を持っていますか?

PD私はこの質問でstackoverflowルールに従おうとしています。有効でない場合は、アドバイスをお願いします。

注: @Marc Bの回答のおかげで機能しました。フォームとcheckusername.phpの間でデータを渡す方法がわかりませんでした、私は知っています。

私が最初に使用していたもの(機能していません):JSルール:

(...)
$('form').find('.classNewUsernameField').each(function () {
    $(this).rules('add', {
        required: true,
        remote: "checkusername.php",
        minlength: minLengthField,
        messages: {
            required: "Required field!",
            remote: "Taken!",
            minlength: "Too short"
        }
        });
});

サーバ側:

if (!mssql_connect("127.0.0.1", "user", "pass"))
    exit ("->FAILED");

if (!mssql_select_db("db_rrhh"))
    exit ("FAILED DB");

$query = "SELECT username_user FROM table_users WHERE username_user=".$_POST['username'];
$res = mysql_query($query);

if (mysql_num_rows($res) > 0) {
    $output = true;
} else {
    $output = false;
}
echo json_encode($output);
4

1 に答える 1

1

サーバー側のコードは次のとおりです(フェッチする方法:デモページのソースを表示し、.phpsファイルをフェッチしていることを確認し、URLを手動で押し、ファイルをダウンロードし、メモ帳にロードし、ここでカットアンドペーストします)

<?php
$request = trim(strtolower($_REQUEST['value']));
$users = array('asdf', 'Peter', 'Peter2', 'George');
$valid = 'true';
foreach($users as $user) {
    if( strtolower($user) == $request )
        $valid = 'false';
}
echo $valid;
?>

全体的にかなりばかげたコード。

于 2013-01-23T16:26:54.143 に答える