Я хочу показать идентификатор пользователя в 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'];?>
Я использую эту последнюю команду для ссылки на свой профиль, но я хочу знать, как просматривать профили других пользователей.
Я полагаю, что вы устанавливаете $ _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
или пдо
Таким образом, в основном вы хотите показать идентификатор в URL или хотите передать идентификатор из URL
Если вы хотите передать идентификатор с помощью URL, чем:
использование
<a href="profile.php?user=<?php echo $id; ?>">
И вы не можете получить эти данные, используя $_GET[user];
ТАК, пожалуйста, уточните, что вы хотите.
я бы сделал так:
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'];
}
Этот код покажет идентификатор пользователя в URL, если вы используете форму:
<form="profile.php?=user<?php echo $id; ?>">
И на тот случай, если вы захотите передать его на другую страницу, чтобы использовать его, вот код:
if (isset($_POST['nameofsubmitbutton']))
{
$Sample = $_POST['nameoffield'];
header("Location: nextpage.php?id=$Sample");
}