PHP - 在url中显示用户ID

时间:2016-12-02 08:23:54

标签: php session profile userid

我想在url中显示userid,如下所示: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'];?>

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

4 个答案:

答案 0 :(得分:0)

所以基本上你想在网址中显示ID或想要从网址传递ID

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

使用

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

您无法使用$_GET[user];

获取该数据

所以请澄清你想要的。?

答案 1 :(得分: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'];
 }

答案 2 :(得分:0)

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

<?php


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

?>

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

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

注意:为了您自己的利益,请不要使用mysql_该函数已折旧   并从php 7中删除。使用mysqli代替,

     

然后为自己的数据安全使用mysqli准备好的语句   或者pdo

答案 3 :(得分:0)

如果您的使用表单是

,此代码会将用户ID显示到网址
<form="profile.php?=user<?php echo $id; ?>"> 

如果您想将其传递到其他页面,以便您可以在此处使用该代码:

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

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