如何在php

时间:2017-03-21 20:44:24

标签: php mysql database session phpmyadmin

我正在使用PHP开展项目。在session.php中,我允许哪些用户可以访问每个页面。登录用户等。但问题是我无法将数据库中表中的所有id添加到if语句中。因为我希望所有的' oglasi'所有用户都应该可以访问。

        <?php
        include_once 'db.php';
        session_start();
        ob_start();

        $query = "SELECT id FROM oglasi";
        $result = mysqli_query($link, $query);

        while ($row = mysqli_fetch_array($result)) {
        $id = $row['id'];
        //if not logged in you can access
        if (empty($_SESSION['user_id']) &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/index.php' &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/registration.php' &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi.php' &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id='.$id &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/user_insert.php' &&
                $_SERVER['REQUEST_URI'] != '/SP/oglasi/login_check.php') 
            header("Location: index.php");
            die();
        }
          }

        ?>

这是关键声明

    $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id='.$id &&

$id变量应该改变1,2 ...     但它并没有改变。

如果我这样做有效,但如果你有大量数据则不好。

    $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=2' &&
    $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=1' &&

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我想你可以通过这种方式简化检查:

/SP/oglasi/

在这里检查 - 如果REQUEST_URI位置0(这意味着REQUEST_URI开头)中不存在模式index.php - 那么您将用户重定向到oglasi

如果用户无法访问所有 include_once 'db.php'; session_start(); ob_start(); if (empty($_SESSION['user_id']) && $_SERVER['REQUEST_URI'] != '/SP/oglasi/index.php' && $_SERVER['REQUEST_URI'] != '/SP/oglasi/registration.php' && $_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi.php' && $_SERVER['REQUEST_URI'] != '/SP/oglasi/user_insert.php' && $_SERVER['REQUEST_URI'] != '/SP/oglasi/login_check.php' && strpos($_SERVER['REQUEST_URI'], '/SP/oglasi/oglasi_show.php') !== 0 ) { header("Location: index.php"); die(); } 小节,您仍然可以使用您的条件:

<android.support.design.widget.AppBarLayout