Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak się pozbyć notice
Forum PHP.pl > Forum > Przedszkole
viamarimar
Fragment kodu:
  1. <?php
  2. include("gora.php");
  3. include("bok.php");
  4.  
  5.  
  6.  
  7. $user = $_SESSION['login'];
  8. $result = mysql_query("SELECT rank FROM users WHERE login='$user'") or die(mysql_error());
  9. $rank = mysql_fetch_array($result);
  10.  
  11. //if(empty($_SESSION['zalogowany']) && ($rank['rank'] != 'root')){
  12. if ($rank['rank'] != 'root'){
  13.  
  14.  
  15. echo "
  16. <div id='right'>
  17. <div class='box'>
  18. Brak dostepu";
  19. }
  20. else{
  21.  
  22.  
  23. ...
  24. ?>


Blad:
  1. Notice: Undefined index: login in C:\VertrigoServ\www\szablon\edycja.php on line 7
  2. Call Stack
  3. # Time Memory Function Location
  4. 1 0.0000 355360 {main}( ) ..\edycja.php:0


Probuje juz na rozne sposoby uzywac isset i empty no ale nie idzie jakos. Sa inne rozwiazania albo moze zle to robie. Fragment nawet nie caly ma zabezpieczac przed wejsciem na strone bez zalogowania.
untorched
  1. $user = isset($_SESSION['login']) ? $_SESSION['login'] : "Pusty string lub cokolwiek innego";
Dance4Love
Po prostu
  1. $_SESSION['login']
jest puste
viamarimar
rozwiazalem to tak, z tym ze nie moglem tego polaczyc w jednego ifa z dlugim warunkiem bo rzucało błędami.. chyba, że ktoś ma pomysł

  1. if(empty($_SESSION['zalogowany'])) {
  2. echo "Ukryta treść!";
  3. header("Location: index.php");
  4. }
  5. else if ($rank['rank'] != 'root'){
  6. echo "Ukryta treść!";
  7. header("Location: index.php");
  8. }
  9. else{
  10. echo "dla uprawnionego";
  11.  
  12. }
Dance4Love
a
  1. AND
?
viamarimar
wlasnie polaczenie ani przez && ani przez and nie dziala
Turson
  1. if(!empty($_SESSION['zalogowany'])){
  2. $result = mysql_query("SELECT rank FROM users WHERE login='{$_SESSION['zalogowany']}'") or die(mysql_error());
  3. $rank = mysql_fetch_array($result);
  4. if ($rank['rank'] != 'root'){
  5. // brak dostępu
  6. }
  7. else{
  8. // jest dostęp
  9. }
  10. }
  11. else{
  12. // brak dostępu
  13. }

lub
  1. $user = !empty($_SESSION['zalogowany']) ? $_SESSION['zalogowany'] : 0;
  2. $result = mysql_query("SELECT rank FROM users WHERE login='{$user}'") or die(mysql_error());
  3. $rank = mysql_fetch_array($result);
  4. if ($rank['rank'] != 'root'){
  5. // brak dostępu
  6. }
  7. else{
  8. // jest dostęp
  9. }
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.