Как получить текущий user_id зарегистрированного пользователя - PullRequest
0 голосов
/ 23 октября 2019

Я только что создал файл php для обновления поля в mysql db, мой запрос на обновление - это то, где у меня есть проблема, я хочу установить 'user_id' в качестве user_id текущего пользователя, который вошел в систему, поэтому обновление будетперейти к соответствующему пользователю. Я не смог заставить это работать. Я чувствую это, потому что я не объявил текущего пользователя ранее в коде, как я могу это сделать?

Вот строка:

$sql = "UPDATE wp85_usermeta SET `meta_value` = `meta_value`+65000 WHERE `user_id` = user_id AND `meta_key` = 'mycred_default'"

Вот полный код:

<?php
    $servername = "localhost";
    $username = "sparyqmr_wp324";
    $password = "(S8p3uV-2t";
    $dbname = "sparyqmr_wp324";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "UPDATE wp85_usermeta SET `meta_value` = `meta_value`+65000 WHERE `user_id` = user_id AND `meta_key` = 'mycred_default'";

    if ($conn->query($sql) === TRUE) {
        echo "Record updated successfully";
    } else {
        echo "Error updating record: " . $conn->error;
    }

    $conn->close();
?>

Ответы [ 3 ]

0 голосов
/ 24 октября 2019

Залогиненные данные пользователя находятся в Сессионных файлах cookie WP .

Пример:

    foreach ($_COOKIE as $k => $v) {
        if ( preg_match( "/wordpress_logged_in/", $k ) ) {
            // DO SOMETHING WITH THIS COOKIE
        } // end if matched login cookie
} // end foreach
0 голосов
/ 29 октября 2019

Я смог решить эту проблему, добавив следующее в начало моего кода

require ('wp-blog-header.php');

global $wpdb;

global $current_user;
get_currentuserinfo();

$skrivID = $current_user->ID;

, используя $ skrivID, позже в коде автоматически возвращался идентификатор пользователя вошедшего в систему пользователя

0 голосов
/ 23 октября 2019

Попробуйте использовать переменные сеанса. Переменные сеанса - это глобальные переменные, которые хранятся на сервере для каждого пользователя.

Если пользователь входит в систему, его идентификатор пользователя можно сохранить в переменной сеанса. Если сеанс запущен, вы можете получить доступ к этой переменной во всех ваших документах.

Вы можете начать сеанс с помощью:

session_start();

Вы можете установить переменную сеансасо следующим кодом:

$_SESSION['userid'] = 'your_user';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...