PHP - 在 url 中显示用户 ID

PHP - show user id in url

我希望能够在 url 中显示用户 ID,如下所示:profile.php?user=1、2 等

我一直在到处搜索,但我无法让它工作。

profile.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'];?>

我在那里使用最后一个命令 link 我自己的个人资料,但我想知道如何查看其他用户的个人资料。

所以基本上你想在 url 中显示 id 或者想从 url

传递 id

如果你想使用 url 传递 id 而不是:

使用

<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'];
 }

我相信你在成功登录时设置了 $_SESSION['user'],然后你使用 header 将用户定向到 profile.php 页面,你需要做什么现在你需要将 header 更改为:

<?php


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

?>

这会将用户引导至 profile.php?use=1 如果 id 为 1,则当您使用锚点从仪表板链接回 profile.php 时,它必须如下所示:

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

NB: For your own benefit don't use mysql_ the function is depreciated and removed from php 7. use mysqli instead,

Then for your own data security use prepared statements, with mysqli or pdo

如果您使用以下形式,此代码将向 url 显示用户 ID:

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

如果您想将它传递到其他页面以便您可以使用它,请使用这里的代码:

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

$Sample = $_POST['nameoffield'];
header("Location: nextpage.php?id=$Sample");
}