Ich arbeite an einem Projekt in PHP. Und in session.php erlaube ich, welche Benutzer auf jede Seite zugreifen können. Angemeldete Benutzer und andere. Aber das Problem ist, dass ich nicht alle ID-s aus der Tabelle in meiner Datenbank zur if-Anweisung hinzufügen kann. Weil ich möchte, dass alle 'oglasi' für alle Benutzer zugänglich sein sollten.Wie kann ich mehrere Bedingungen hinzufügen, wenn Statement in PHP
<?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();
}
}
?>
Dies ist die Kernaussage
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id='.$id &&
$id
Variable sollte 1,2 ... ändern, aber es ist changeing nicht.
Wenn ich das tue funktioniert es, aber es ist nicht gut, wenn Sie eine Menge Daten haben.
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=2' &&
$_SERVER['REQUEST_URI'] != '/SP/oglasi/oglasi_show.php?id=1' &&
Kann jemand helfen?
prüfen mit 'strpos()' –
in jeder Schleife einen String erstellen wie '$ compare_with zu vergleichen 'und diese Variable ist die in jeder Schleife dynamisch erzeugte Zeichenfolge. Und zuletzt vergleiche diese Zeichenkette mit $ _SERVER ['REQUEST_URI'] '. Sie können auch jedesmal $ $ compare_with' string mit str_replace machen. – webDev