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

How to change the value of a variable using input field?

我创建了一个 wordpress 网站。我想使用 php 通过 his/her id.

提取每个用户的数据

我创建了这段代码;

<?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 在输入字段值更改时重新执行。

如果是表单,则可以使用$_GET或$_POST从表单中获取数据(取决于方法)。

所以我猜你的表格是 POST 表格,所以你可以这样做:

<?php
if(isset($_POST['getUser'])){
    $userId = $_POST['getUser'];
}else{
    $userId = null;
}

$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=''/>

如果您想执行 php 代码,使用 JS 获取用户信息而无需重新加载页面:

You can't run PHP with javascript. JavaScript is a client side technology (runs in the users browser) and PHP is a server side technology

所以 AJAX 就是您要找的。

最好的选择是使用 HTML 表单并更新 "action_page.php" 页面 url

<?php
if(isset($_POST['getUser'])){
    $userId = $_POST['getUser'];
}else{
    $userId = null;
}

$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";
    ?>
<form action="/action_page.php" method="POST">
   <input name="getUser" id="getUser" value=''/>
  <input type="submit" value="Submit">
</form>
if(isset($_POST['getUser'])){
        $userId = $_POST['getUser'];
    }
    <form action="$_SERVER['PHP_SELF']" method="POST">
           <input name="getUser" id="getUser" value=''/>
          <input type="submit" value="Submit">
        </form>