猿问

jQuery on .submit 检查数据库中是否存在登录名并处理表单

我有这个自定义 WP 用户注册表,其中必填字段之一是登录名。


该表单可以通过 PHP 和 jQuery 两种方式进行处理,并且效果很好。


我想做的是检查数据库以查看给定的登录名是否已存在。


不必是动态的,也可以在提交时检查,我将运行另一个 PHP 脚本,用简单的代码说“checkUser.php”:从数据库给定名称中选择,如果存在则返回 true (


我只是真的不知道是否应该扩展现有代码或寻找全新的方法。


任何意见都会受到赞赏。


函数.php:


/**

 * Enqueue scripts / styles

 */

public static function theme_enqueue_styles()

{

    wp_enqueue_script('xxxx', esc_url(get_stylesheet_directory_uri(XXXX) . '/assets/js/jqueryFile.js'), array( 'jquery' ), XXXX, true);

    wp_localize_script(

        'xxxx',

        'parajax',

        array(

        'ajax_url' => admin_url('admin-ajax.php'),

        )

    );

}

注册.php


<p>

<label for="login_name">Login *</label>

<input type="text" name="login_name" id="login_name" value="<?php

if (isset($_POST['login_name']) && ! empty($_POST['xx-widget-nonce']) && wp_verify_nonce($nonce, 'xx-widget') ) {

  echo esc_html(sanitize_text_field(wp_unslash($_POST['login_name'])));

}?>" required>

<?php

if (isset($_POST['login_name']) && esc_html(sanitize_text_field(wp_unslash($_POST['login_name']))) === '' ) {

    echo '<em class="f_req">' . esc_html__('This field is required', 'xxxx') . '.</em>';

}

?>

</p>

jQuery 位:


( function( $ ) {


    $( '#form' ).submit( function( e ) {

        e.preventDefault();


        const form = $( this );

        const postData = form.serialize();


        $.ajax( {

            url: parajax.ajax_url,

            type: 'POST',

            data: postData + '&action=ajax_form',

            success( resp ) {

                $( form ).fadeOut( 100, function() {

                    form.html( resp ).fadeIn();

                } );

            },

        } );

    } );


}( jQuery ) );


慕娘9325324
浏览 61回答 1
1回答

拉丁的传说

所以Wordpress 自带了这个功能https://developer.wordpress.org/reference/functions/username_exists/在您的 register.php 中,您将检查发布的名称,如下所示:$uname_exists = username_exists($_POST['login_name']);if(!$uname_exists){&nbsp; echo "username not existing yet";}else{&nbsp; echo "username already existsing!";}
随时随地看视频慕课网APP
我要回答