ホームページ > バックエンド開発 > PHPチュートリアル > ユーザー登録時にメール認証が常に失敗して機能が失敗してしまうのですが?

ユーザー登録時にメール認証が常に失敗して機能が失敗してしまうのですが?

WBOY
リリース: 2016-06-23 13:48:19
オリジナル
1030 人が閲覧しました

 //检查电子邮箱                $("#email").blur(function() {                    var reg = /^[\w.\-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,6}$/;                    if ($("#email").val() !== "" && !reg.test($("#email").val())) {                        $("#email1").html("<font color=\"#a9a9a9\">邮件格式不正确!</font>");                        $("#okemail").hide();                        return false;                    }                    $.post('{:U("Register/checkEmail")}', $("#register").serialize(), function(str) {                        str = $.trim(str);                        $("#email1").html("<font color=\"#a9a9a9\">" + str + "</font>");                        $("#okemail").hide();                        if (!str) {                            email = 1;                            $("#okemail").show();                        }                    });                });
ログイン後にコピー


教えてください、
ユーザー登録時にメール認証が必ず失敗します
この「{:U("Register/checkEmail")}」とは何ですか?壊れているようなのですが、どうすれば正常に使えるようになりますか?


ディスカッションへの返信 (解決策)

{:U("Register/checkEmail")}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これは、THINKPHP フレームワークのルーティング機能です。このフレームワークを使用していない場合、間違いなく失敗し、エラーが報告されます。

それともコード $("#register").serialize() に問題があるのでしょうか?
検証はパスしたようで、メールの形式は正しく、重複していないようですが、テキストボックスの右側にまだ感嘆符が表示されており、緑色のチェックマークになっていません。登録ボタンをクリックすると、「登録情報をすべて入力してください」というメッセージが表示されます。

val = 'abc@example.com';

var pattern = /^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A -Za-z0-9]+)*.[A-Za-z0-9]+$/;
return pattern.test(val);

val = 'abc@example.com'; /^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za- z0-9]+$/;

return pattern.test(val);

正規表現を変更してもまだ機能しません。

{:U("Register/checkEmail")}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これは THINKPHP フレームワークのルーティング機能です。このフレームワークを使用していない場合は、間違いなく失敗し、エラーが報告されます。


THINKPHP フレームワークを使用するのが正しいです。テキストエラーはなく、右側に感嘆符が表示されるだけで、理由は不明です。

{:U("Register/checkEmail")}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

これは、THINKPHP フレームワークのルーティング関数です。このフレームワークを使用していない場合、間違いなく失敗し、エラーが報告されます。

THINKPHP フレームワークを使用するのが正しいです。テキストエラーレポートはなく、右側に感嘆符が表示されるだけで、理由は不明です。
検証のためにフォーム内のメールをメソッドに送信するだけでよく、すべてをシリアル化して送信する必要はありません。また、送信されたフィールドは取得したフィールドと一致していますか?これらを確認すると、問題がどこにあるのかがわかると思います。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート