Как изменить значение переменной с помощью поля ввода? - PullRequest
0 голосов
/ 01 июля 2019

Я создал сайт WordPress.Я хочу извлечь данные каждого пользователя с помощью 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=''/>

Пользователь напишет идентификатор пользователя, которого он хочет извлечь егоданные.и затем данные будут возвращены.

Код работает нормально, но я не могу установить значение поля ввода "getUser" в переменную "$ userId".Также я хочу, чтобы php повторно выполнялся при изменении значения поля ввода.

Ответы [ 3 ]

1 голос
/ 01 июля 2019

Лучший вариант - использовать 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>
1 голос
/ 01 июля 2019

Если это форма, то вы можете использовать $ _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, без перезагрузки страницы:

Вы не можете запустить PHP с javascript.JavaScript - это технология на стороне клиента (работает в браузере пользователя), а PHP - это технология на стороне сервера

Итак, AJAX - это то, что вы ищете.

0 голосов
/ 01 июля 2019
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>
...