Управление пользователями просмотра системы профилей и передача идентификатора для просмотра страницы профиля для отображения правильного изображения аватара

Я пытаюсь настроить систему среды пользователя. У меня есть страница home.php, которая является страницей профиля, и planet_search.php, которая отображает всех пользователей с возможностью просмотра их профилей. Я пытаюсь передать переменную id в home.php, чтобы я мог показать правильное изображение аватара. Вот часть home.php, которая отображает изображение аватара:

<img class='ima'src="<?php
$id = $_SESSION['id'];
$query = "SELECT avatar_url FROM users WHERE id = '$id' LIMIT 1";
if(isset($_POST['id'])){$idu = $_POST['id'];
"SELECT avatar_url FROM users WHERE id = '$idu' LIMIT 1";}
$result = mysqli_query($conn,$query);

$row = mysqli_fetch_assoc($result);

if(!$row["avatar_url"]){echo 'img/profile3.png';}else{echo  $row["avatar_url"];}

?>" alt="face"  >

А вот и JQuery из planet_search.php:
$ (документ) .ready (function () {

$('.square').on('click', function(){
$this_id = $(this).find('.id_user').text();

$.ajax({
type: "POST",

url: "home.php",

data: { id: $this_id }, // or the string: 'id=1'
complete:
function () {
window.location = "home.php";
}

});
})
});

Но это не работает? он не передает переменную, потому что

if(isset($_POST['id']))

никогда не бывает правдой Что я делаю неправильно?

2

Решение

Попробуйте использовать этот код вместо этого.

<?php
$idu = null;

if (isset($_GET['id'])) {
$idu = $_GET['id'];
} elseif (isset($_SESSION['id'])) {
$idu = $_SESSION['id'];
}

$avatar_url = "img/profile3.png";

if (!is_null($idu)) {
$query = "SELECT avatar_url FROM users WHERE id = '$idu' LIMIT 1";

$result = mysqli_query($conn, $query);

$row = mysqli_fetch_assoc($result);

if ($row["avatar_url"]) {
$avatar_url = $row["avatar_url"];
}
}

?>

<img class='ima' src="<?php echo $avatar_url; ?>" alt="face">

и JS:

$('.square').on('click', function () {
$this_id = $(this).find('.id_user').text();

if ($this_id != "") {
window.location = "home.php?id=" + $this_id;
}
});
1

Другие решения

ты не начал сеанс, session_start();

1

По вопросам рекламы [email protected]