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

时间:2019-07-01 08:34:00

标签: php wordpress get getusermedia

我创建了一个wordpress网站。我想使用php通过他/她的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在输入字段值更改时重新执行。

3 个答案:

答案 0 :(得分:1)

如果是表单,则可以使用$ _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。

答案 1 :(得分:1)

最好的选择是使用HTML表单,并使用您的页面网址更新“ action_page.php”

<?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>

答案 2 :(得分:0)

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>