Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [myslq][php] SESJE - Logowanie - błąd w warunku
funky_beat
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


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 ?
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Liczba nawiasów otwierających ( powinna być równa liczbie nawiasów zamykających ), a u Ciebie jest 7 ( oraz 8 ).
Go to the top of the page
+Quote Post
funky_beat
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


faktycznie (IMG:http://forum.php.pl/style_emoticons/default/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?
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #4





Goście







  1. <?
  2. if ($_SESSION['dzial'] == '2' ) { tak } else { nie }
  3. ?>
Go to the top of the page
+Quote Post
funky_beat
post
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
drPayton
post
Post #6





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
funky_beat
post
Post #7





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


poprawiłem to i nadal nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) zmienna $_SESSION['dzial'] ustawiam na 1 a ten skrypt uznaje ze to jest dobrze i wyświetla mi 'ok' (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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ą.
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #9





Goście







  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. ?>


Ten post edytował Wieviór 8.09.2007, 14:57:53
Go to the top of the page
+Quote Post
funky_beat
post
Post #10





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


zrobiłem własnie tak jak napisałeś, (IMG:http://forum.php.pl/style_emoticons/default/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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 13:16