Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: link z if
Forum PHP.pl > Forum > PHP
aragorn280
Witam chciałbym żeby po naciśnieciu na nazwe uzytkownika w zaleznosci od tego czy jest adminem albo uzytkownikiem przenosilo albo do jednej albo do drugiej strony. Wiem ze na pewno trzeba uzyc ifa i polavzyc z baza ale cos mi nie dziala

<li><a href="Blog/admin/posty/index.php"><?php if (isset($_SESSION['login'])) : ?> to jest przycisk
gino
co nie działa? sam if, czy cała reszta? Wklej kod który napisałeś, zobaczymy.
dublinka
Czy wogole cos zrobiles procz tego linku ktory i tak nie bedzie dzialal
aragorn280
<?php
$polaczenie = mysqli_connect('localhost','root','','projekt');


$query = ("SELECT * FROM users");

$wynik = mysqli_query($polaczenie, $query);
if ($wynik){
$n= mysqli_fetch_array($wynik);
$Login=$n['Login'];
$Email=$n['Email'];
$rola=$n['rola'];






}

?>

no i przycisk

<li><a >
<?php

if (isset($_SESSION['login'])) :
$url1 = '<a href="Blog/admin/posty/index.php"></a>';
$url2 = '<a href="Blog/user/posty/index.php"></a>';
if ($rola="admin") {
echo $url1;
} else {
echo $url2;
}
?>

<p><i class="fas fa-user"></i> <strong style="color:Yellow;"><?php echo $_SESSION['login']; ?></strong></p></a>



tworzy mi 3 guziki i odsyla tylko do admina
dublinka
Gdzie sesja 'login' ma swoj poczatek i co zawiera zmienna $rola.
Posprawdzaj sobie co zawieraja zmienne ktore wyciagasz z bazy.

Ten warunek jest troche bez sensu.

Najpierw sprawdzaj czy istnieje sesja i w tym warunku daj kolejny warunek ktory sprawdza role.
  1. if(isset($_SESSION['login']))
  2. {
  3. if($rola=='admin')
  4. {
  5. Link dla admina
  6. }else{
  7. Link dla usera
  8. }
  9. }else{
  10. Echo "nie masz uprawnien";
  11. }


Zreszta nie wiem po co ci ta sesja wogole. Wyciagles ja z kapelusza. Nie wiem co ty z nia wczesniej robisz i gdzie inicjujesz. Jest rejestrowana podczas logowania czy jak bo jesli tak to wystarczy podczas logowania przypisac role do sesji np 1 to dla admina 2 dla usera i potem sprawdzic tylko sesje bez tego drugiego warunku z $rola bo sama rola bedzie zawarta w sesji.

Wtedy dajesz dwa odrebne ify co eliminuje koncowe else{} jesli bys chcial sprawdzac wszystko w jednym warunku
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.