【问题标题】:Use Session-variable user id to set what is viewable in a webpage使用 Session-variable 用户 id 设置网页中可查看的内容
【发布时间】:2015-10-28 20:58:06
【问题描述】:

只是看看这是否可行,如果可以,希望有一些方向,我对 php 还是很陌生。
我想使用用户的会话数据打开或关闭页面中的元素。我想我需要创建一个存储此信息的 php 文件,这样我就可以修改网站页面元素的用户权限,但只需添加或减去。
比如:

user1 可以平等访问:section 1,2,4,5

user2 可以平等访问:第 3,5 节

user3 可以平等访问:section 1,2,3,4,5,6

部分访问(或者我怎么称呼这个元素)将只显示部分,这些数字分配给由 user1、user2 或 user3 定义的页面的 html 布局中的 div。 本质上是根据用户的 id 权限授予对页面部分的访问权限。

.deptTile {
  height: 100px;
  background-color: gainsboro;
  padding: 12px;
  border-radius: 2px;
  position: relitive;
  width: 420px;
  margin: 15px;
  
}
.deptTile:hover {
  background-color: #99E299;
  cursor: pointer !important;
}
@media (min-width: 1200px) .container {
  width:1170px;
}
@media (min-width: 1200px) .col-lg-4 {
  width:33.33333333%;
}
.row {
  margin-right: -15px;
  margin-left: -15px;
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}
@media (min-width: 1200px) .col-lg-4 {
  width:33.33333333%;
}
.media,
.media-body {
  overflow: hidden;
  zoom: 1;
}
@media (min-width: 1200px) .container {
  width:1170px;
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  background-color: #fff;
}
<div class="container" style="top: 150px; position: relative;">
  <div class="row" style="padding-bottom: 100px;">
    <div class="col-lg-4 col-md-4 col-sm-6 col-xs-6" onMouseOver="">
      <div class="media-object-default">
        <div class="media deptTile" style="" onClick="">
          <div class="media-left" style="padding: 5px; margin: 5px; float: left;">
            <a href="">
              <img src="" alt="placeholder image" class="media-object img-responsive">
            </a>
          </div>
          <div class="media-body">
            <h4 class="media-heading">Sales Dept.</h4>
            Click to see all the marketing materials. Product Image Database soon to come.</div>
        </div>
      </div>
    </div>
    <div class="col-lg-4 col-md-4 col-sm-6 col-xs-6">
      <div class="media deptTile" style="" onClick="">
        <div class="media-left" style="padding: 5px; margin: 5px; float: left;">
          <a href="">
            <img src="" alt="placeholder image" class="media-object img-responsive">
          </a>
        </div>
        <div class="media-body">
          <h4 class="media-heading">Marketing Dept.</h4>
          Click to see all the marketing materials &amp; marketing reports.</div>
      </div>
    </div>
    <div class="col-lg-4 col-md-4 col-sm-6 hidden-sm hidden-xs">
      <div class="media deptTile" style="" onClick="">
        <div class="media-left" style="padding: 5px; margin: 5px; float: left;">
          <a href="">
            <img src="" alt="placeholder image" class="media-object img-responsive">
          </a>
        </div>
        <div class="media-body">
          <h4 class="media-heading">Admin</h4>
        </div>
      </div>
    </div>
    <div class="col-md-4 col-sm-6 col-lg-12"></div>

  </div>
</div>

一旦用户登录,会话就会创建,我想使用会话 ID 来允许或禁止仅访问其中一个按钮、2 个或全部三个按钮,具体取决于与登录的配置文件用户关联的用户 ID ID。

我对此很陌生,我刚刚看到我可以在本地输入 html


好的,所以我对 php 很陌生,几天前刚开始记住个人应用程序的语言,现在正在我的办公室尝试。

我是艺术总监而不是后端设计师,但我我全力以赴

真的任何方向都会有帮助

【问题讨论】:

  • 那么,你有什么尝试?
  • 问题是什么?
  • 所以另一个问题stackoverflow.com/q/31814668 无法解决这个问题,嗯?似乎他们在那里遗漏了一段非常重要的代码,编辑:下面的答案也是如此。
  • 一些css和html有什么关系?您尝试过的 PHP 在哪里?
  • 我打算上传我网站上的按钮图像,以显示用户如何访问相同的 .html 文件但无法访问。所以我添加了代码。

标签: php jquery html session session-variables


【解决方案1】:

我把它放在 home.php 的顶部,希望从会话开始时找到用户 ID 的名称。
虽然,正如你所见,这不起作用,或者对我没有用

<?php
   $msg1 = "Hello"

   if($_SESSION['userlogin'] == 'msg1'){
   echo $msg1;
   } else {
   header("Location: logout.php");
?>

我的 index.php 中有一个启动会话功能

   private function doStartSession()
{
    session_start();
    $_SESSION['userlogin'] = $login; // TESTING TO SEE IF I CAN GRAB USER NAME AND USE IT ELSE WHERE TO DEFINE WHAT USER SEES ON THE SITE


}

所以我有点迷路了,用户登录不是我想要获取的吗?
这只是一个测试,看看我是否可以获取用户名的 id。我希望做一些你之前提到的 Tyler 的事情。

<?php
  session_start();
  if ($_SESSION['id'] == "userone") {
?>
 //html code if userone
  <h2>Hi userone</h2>
<?php
  } elseif ($_SESSION['id'] == "usertwo") {
?>

【讨论】:

    【解决方案2】:

    你绝对可以用会话变量做类似的事情。假设你有一个 php 文件:

    <?php
      session_start();
      if ($_SESSION['id'] == "userone") {
    ?>
      //html code if userone
      <h2>Hi userone</h2>
    <?php
      } elseif ($_SESSION['id'] == "usertwo") {
    ?>
      //html code if user two
      <h2>hi usertwo</h2>
    <?php
      } else {
    ?>
      //html code if neither of those
      <p>It appears that you are not logged in, so no welcome message</p>
    <?php
      }
    ?>
    

    当然,您必须首先在其他页面上的其他位置设置会话变量“id”。

    【讨论】:

    • 这是我一直希望有人给我看的东西。我不知道这是可能的。我需要做更多的研究来了解如何实现这一点。
    • 这在导航菜单中特别有用,例如从下拉菜单中隐藏一组链接或项目。
    • 这是一种非常原始的方式,而且非常乏味,因为您基本上必须为 2 个用户和一个后备设计 3 个整页设计。一旦你玩了一段时间,你可能会在下一轮提出更具体的问题:)
    • Tyler,您是否发现上述任何安全问题,特别是考虑到 Fred 在 cmets 中的 link 问题下的问题?特别是,脚本的顶部应该是什么?
    • 我不确定,教我们两个,我会改变我的答案。我看不出你指的是什么。我们是否应该先检查变量是否已设置?
    猜你喜欢
    • 2013-08-24
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多