Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [myslq][php] SESJE - Logowanie - błąd w warunku
Forum PHP.pl > Forum > Przedszkole
funky_beat
jak napisac poprawnie ten warunek

  1. <?php
  2.  
  3. if ((isset($_SESSION['login']) &&
  4. $_SESSION['login'] != "") ||
  5.  
  6. (isset($_SESSION['haslo']) &&
  7. $_SESSION['haslo'] != "")) ||
  8.  
  9. (isset($_SESSION['dzial']) &&
  10. $_SESSION['dzial'] != "")) 
  11. {
  12. echo 'Ok';
  13. } else {
  14.  
  15. echo 'Nie ok';
  16. }
  17. ?>


aby nie wywalało błędu:

  1. Parse error: syntax error, unexpected T_BOOLEAN_OR IN C:\www\sesja.php ON line 7


dodam ze bez sprawdzenia zmiennej $_SESSION['dzial'] warunek wykonuje się poprawnie pomimo ze ta zmienna istnieje. Prawdopodobnie błąd w składni warunku. tylko jaki ?
phpion
Liczba nawiasów otwierających ( powinna być równa liczbie nawiasów zamykających ), a u Ciebie jest 7 ( oraz 8 ).
funky_beat
faktycznie smile.gif wiekie dzięki phpion.com teraz juz działatak przy okazji,chcialbym sprawdzic czy zmienna $_SESSION['dzial'] jest rowna 2 jak to zapisac?
Wieviór
  1. <?
  2. if ($_SESSION['dzial'] == '2' ) { tak } else { nie }
  3. ?>
funky_beat
czy mozna ten skrypt jakos przerobic zeby sprawdzal czy zmienna $_SESSION['dzial'] jest rowna 2?

ja proboje w taki sposob:

  1. <?php
  2. if ((isset($_SESSION['login']) &&
  3. $_SESSION['login'] != "") ||
  4. (isset($_SESSION['haslo']) &&
  5. $_SESSION['haslo'] != "")) ||
  6. (isset($_SESSION['dzial']) &&
  7. $_SESSION['dzial'] = '2'))
  8.  {echo 'Ok';}
  9.  else 
  10. {echo 'Nie ok';}
  11. ?>


i mi nie wychodzi sad.gif
drPayton
Przecież Ci @Wieviór napisał co i jak, robisz prawie dobrze, tylko nie:
  1. <?php
  2. (...)$_SESSION['dzial'] = '2'(...)
  3. ?>

a
  1. <?php
  2. (...)$_SESSION['dzial'] == '2'(...)
  3. ?>

I będzie OK winksmiley.jpg
funky_beat
poprawiłem to i nadal nic sad.gif zmienna $_SESSION['dzial'] ustawiam na 1 a ten skrypt uznaje ze to jest dobrze i wyświetla mi 'ok' sad.gif
phpion
Bo poszczególne warunki składowe łączysz za pomocą spójnikiem alternatywy (||) zamiast koniunkcji (&&). Twoje wyrażenie jest prawdziwe jeśli którykolwiek z warunków (isset + dodatkowy warunek) jest prawdą.
Wieviór
  1. <?php
  2. if (isset($_SESSION['login']) && $_SESSION['login'] != "" && isset($_SESSION['haslo']) && $_SESSION['haslo'] != "" && isset($_SESSION['dzial']) && $_SESSION['dzial'] = '2')
  3. { echo 'Ok'; } else 
  4. { echo 'Nie ok'; }
  5. ?>
funky_beat
zrobiłem własnie tak jak napisałeś, smile.gif i działa , dziękijak powinien wygladac warunek w tym skrypcie zeby na koncu zmienna $_SESSION['dzial'] byla sprawdzona czy ma wartosc 1 czy 2 ?
  1. <?phpsession_start();if ((isset($_SESSION['login']) && $_SESSION['login'] != &#092;"\") &&(isset($_SESSION['haslo']) && $_SESSION['haslo'] != \"\") &&(isset($_SESSION['dzial']) && ($_SESSION['dzial'] == '2' || $_SESSION['dzial'] == '1') ){echo 'ok';} else {echo 'nie ok';}?>
po jego uruchomieniu w tej postaci wywala mi komunikat:
  1. Parse error: syntax error, unexpected '{' in C:\www\skrypt.php on line 11
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.