如何使用输入域更改变量的值?

时间:2019-06-30 作者:Axmed nuur

我已经创建了一个wordpress网站。我想通过每个用户的id使用php提取其数据。

我已经创建了此代码;

<?php
$userid = /* help me get the below input field\'s value */
$user_info = get_userdata($userId);
      echo \'Username: \' . $user_info->user_login . "\\n";
      echo \'User roles: \' . implode(\', \', $user_info->roles) . "\\n";
      echo \'User ID: \' . $user_info->ID . "\\n";
    ?>
<input name="getUser" id="getUser" value=\'\'/>
用户将写入要提取其数据的用户的id。然后数据会回显。

代码运行正常,但我无法设置“getUser“输入字段到”$userId“变量。我还希望php在输入字段值更改时重新执行。

1 个回复
SO网友:Chetan Vaghela

请尝试下面的代码片段。

HTML :

<input name="getUser" id="getUser" value=\'\'/>
<div id="user_data"></div>

JS (js/my-ajax-script.js)

 jQuery(document).ready(function($){
    $(\'#getUser\').keyup(function(e) {
      var user_id = e.target.value;
      console.log(user_id);
      $.ajax({
            url:my_ajax_object.ajaxurl, #add here your ajax url
            type:\'POST\',
             data:\'action=get_this_user_data&user_id=\'+user_id ,
             success:function(results)
             {
              jQuery(\'#user_data\').html(results);

             }
        });
    });
});

Ajax (add in functions.php)

function my_enqueue() {

wp_enqueue_script( \'ajax-script\', get_template_directory_uri() . \'/js/my-ajax-script.js\', array(\'jquery\') );

wp_localize_script( \'ajax-script\', \'my_ajax_object\',
        array( \'ajax_url\' => admin_url( \'admin-ajax.php\' ) ) );
   }
   add_action( \'wp_enqueue_scripts\', \'my_enqueue\' );

add_action( \'wp_ajax_get_this_user_data\', \'get_this_user_data\' );
add_filter( \'wp_ajax_nopriv_get_this_user_data\', \'get_this_user_data\');
function get_this_user_data()
{
    $userid = $_POST["user_id"];
    $data = \'\';
    $user_info = get_userdata($userid);
     if(!empty($user_info))
     {
       $data .= \'<pre>\';
       $data .= \'Username: \' . $user_info->user_login . \'<br/>\';
       $data .= \'User roles: \' . implode(\', \', $user_info->roles) . \'<br/>\';
       $data .= \'User ID: \' . $user_info->ID . \'<br/>\';
       $data .=\'</pre>\';
     }
     else
     {
        $data = "user data not found";
     }

      echo $data;
      die();
}
希望这对你有帮助!

相关推荐

查询unctions.php中的帖子并更新字段

我在中查询帖子时遇到问题functions.php. 这主要是在后端更新帖子,而不是在前端显示查询。我正在尝试获取所有使用状态帖子格式的帖子,如果变量为true,则更新一个元字段。我的代码:function status_alerts($query) { //start function global $post; // set the global $args = array( // all posts in the status post format \'posts_