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

Я хочу показать идентификатор пользователя в URL, например: profile.php? User = 1, 2 и т. Д.

Я искал везде, но не могу заставить его работать.

код профиля.php:

<?php
ob_start();
session_start();
require_once 'dbconnect.php';// if session is not set this will redirect to login page
if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
// select loggedin users detail
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
$id = $_GET['userId'];

?>

Код PHP:

<?php
ob_start();
session_start();
require_once 'dbconnect.php';

$id = (isset($_GET['id'])) ? $_GET['id'] : $_SESSION['id'];
$query = "SELECT * FROM users WHERE userId = $id";
// if session is not set this will redirect to login page
if( !isset($_SESSION['user']) ) {
header("Location:profile.php?id=" . $_SESSION['user']);
exit;
}
// select loggedin users detail
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
$id = $_GET['userId'];
?><?php echo $userRow['userId'];?>

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

0

Решение

Я полагаю, что вы устанавливаете $ _SESSION [‘user’] для успешного входа в систему, затем вы направляете пользователя на страницу profile.php, используя заголовок, что вам нужно сделать сейчас, вам нужно изменить свой заголовок, чтобы он выглядел так:

<?phpheader("Location:profile.php?id=" . $_SESSION['user']);

?>

Это направит пользователя на profile.php? Use = 1, если id равен единице, тогда, когда вы когда-либо ссылаетесь на profile.php со своей панели инструментов, используя якорь, он должен выглядеть следующим образом:

<a href="profile.php?id=<?php echo $_SESSION['user'];?>">profile</a>

NB: для вашего же блага не используйте mysql_, функция устарела
и удален из php 7. используйте вместо этого mysqli,

Тогда для вашей собственной безопасности данных используйте подготовленные операторы с mysqli
или пдо

0

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

Таким образом, в основном вы хотите показать идентификатор в URL или хотите передать идентификатор из URL

Если вы хотите передать идентификатор с помощью URL, чем:

использование

<a href="profile.php?user=<?php echo $id; ?>">

И вы не можете получить эти данные, используя $_GET[user];

ТАК, пожалуйста, уточните, что вы хотите.

0

я бы сделал так:

 if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
elseif ( isset($_SESSION['user'] && !$_GET['user']){
header("Location: profile.php?user=" . $_SESSION['user']);
}
else{
// select loggedin users detail
$res=mysql_query("SELECT * FROM users WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
$id = $_GET['userId'];
}
0

Этот код покажет идентификатор пользователя в URL, если вы используете форму:

<form="profile.php?=user<?php echo $id; ?>">

И на тот случай, если вы захотите передать его на другую страницу, чтобы использовать его, вот код:

if (isset($_POST['nameofsubmitbutton']))
{

$Sample = $_POST['nameoffield'];
header("Location: nextpage.php?id=$Sample");
}
0
По вопросам рекламы [email protected]