2016-01-06 3 views
0

У меня проблема с профилем пользователя. Я имею в виду, что я хотел бы искать профиль пользователя (пример: im user 1, но я хочу посмотреть профиль пользователя 2), но если я напишу в Url (например: localhost/$ userID ничего не меняется на странице профиля, просто покажите информацию от Ме- пользователя 1)Показать профиль пользователя id

Вот мой код для профиля пользователя:

<table style="height:70px" class='table table-bordered table-hover table-striped'> 
    <tr> 

    </tr> 
    <tr> 
    <td><b>Username</b></td> 
    <td><b><?php echo $row['userName']; ?></b></td>  

    </tr> 
    <tr> 
    <td><b>Name</b></td> 
    <td>.......</td>   

    </tr> 
    <tr> 
    <td><b>Gender</b></td> 
    <td><?php echo $row['sex']; ?></td>  

    </tr> 
    <tr> 
    <td><b>Nickname</b></td> 
    <td><?php echo $row['nickname']; ?></td>   

    </tr> 
    <tr> 
    <td><b>Rank</b></td> 
    <td><?php echo $row['Rank']; ?></td>   

    </tr></table> 

Вот мой PHP код я использую для user_id:

<?php 
session_start(); 
require_once 'class.user.php'; 
$user_home = new USER(); 

if(!$user_home->is_logged_in()) 
{ 
$user_home->redirect('index.php'); 
} 

$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid"); 
$stmt->execute(array(":uid"=>$_SESSION['userSession'])); 
$row = $stmt->fetch(PDO::FETCH_ASSOC); 

?> 

И в моем URL говорит так:

<li><a href='profil.php?=<?php echo $row['userID']; ?>=<?php echo $row['userName']; ?>'></li> 

Я искал в Интернете для примеров, но я не знаю, что я не хватает в моем коде

Маленькая помощь от вас, ребята, были бы весьма желательны: р

+0

Ваш идентификатор из сеанса, а не URL-адрес –

+0

@Dagon okey теперь я могу искать других пользователей, но вот еще одна проблема ... когда я ищу user_id 2, измените имя на user_id 2 (вот пример : https://gyazo.com/c4ead5b6d916babb35100b65e855e2e7 – Hartman

+0

использовать сеанс для зрителя, идентификатор URL для отображаемого профиля –

ответ

1

Вы можете изменить ИНЕК в вашем SQL запросе вместо использования $_SESSION['userSession'] вы можете использовать $_GET['id'], а в вашей ссылке на профили profil.php?id=X, где X - это идентификатор пользователя человека, профиль которого вы хотите видеть.

Так ссылка для кого-то, чтобы их собственного профиля будет: <a href="profil.php?id=<?php echo $_SESSION['userSession'];">My Profile</a>

Обязательно используйте is_numeric для проверки введенного пользователя и иметь сообщение по умолчанию для, если нет пользователя с этим идентификатором.

+0

okey сейчас я могу искать других пользователей, но вот еще одна проблема ... когда я ищу user_id 2, это изменение name to user_id 2 (вот пример: https://gyazo.com/c4ead5b6d916babb35100b65e855e2e7 – Hartman

+0

@Hartman Похоже, вы используете функцию для получения имени пользователя из идентификатора, можете ли вы опубликовать этот код? Я полагаю, вы отправляете неверный идентификатор в качестве параметра – user5697101

+0

@ Майкл О Маолен уверен, что я опубликую его как ответ на вопрос cuz here code thing doe sn't work: S или здесь код как изображение https: // gyazo.com/ab9f60faf273c463366a93e9fadc1e8d – Hartman

1

ваш используя идентификатор из сеанса, а не URL

изменение

$stmt->execute(array(":uid"=>$_SESSION['userSession'])); 

в

$stmt->execute(array(":uid"=>$_GET['id'])); 

теперь у вас есть идентификатор из URL, идентификатор использования вы хотите увидеть.

и гиперссылка на

<a href='profil.php?id=<?php echo $row['userID']; ?> 

добавили id= стандартной практики, если вы просто хотите ?99 вы можете получить строку в $_SERVER['QUERY_STRING']