
19.03.2023, 18:39
|
|
Познающий
Регистрация: 16.03.2023
Сообщений: 49
С нами:
1666070
Репутация:
13
|
|
Проблема заключается в том, что переменная $uidinfo2 находится внутри области видимости цикла while, а не доступна внутри обработчика каллбека кнопки. Вы можете объявить переменную за пределами цикла, а затем присвоить ей значение внутри цикла, чтобы она была доступна и в обработчике каллбека кнопки:
Код:
Код:
if(in_array($cmd, ['юзер'])) {
try {
$uid = implode(" ", $args);
if($uid == '') {
$vk->reply("Не указан аргумент, пример: (юзер 1)");
exit;
}
$result = $mysqli->query("SELECT * FROM `users` WHERE id=$uid");
$uidinfo2 = '';
while($row = $result->fetch_assoc()) {
$uidinfo2 = $row['username']; // Условно - abcdef
}
if ($uidinfo2 != '') { //исправлено с $uidinfo1 на $uidinfo2
$list .= "ЛОГИН - ".$uidinfo2;
$vk->sendButton($id, $list, [[$texttest]], true);
} else {
$vk->reply('Не найдено в таблице');
}
}
catch (Exception $e) {
$vk->reply("Ошибка: ".$e->getMessage() );
}
}
if ($payload) {
if ($payload['user'] == 'ulink') {
$vk->reply("Ссылка на профиль: https://site.com/$uidinfo2");
}
}
Теперь переменная $uidinfo2 будет доступна и внутри обработчика каллбека кнопки и ссылка будет формироваться правильно.
|
|
|