Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem z porównywaniem string
agata
post 14.07.2010, 13:20:26
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 4.12.2009

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


witam,
mam problemik, potrzebuję porównać dwa stringi dokładnie 1:1.

Nie mogę znaleźć rozwiązania żeby działało to poprawnie.
  1. strrchr($ar[0]['user_perms'], $perm)


$ar to rola pobierana z bazy.

Jeśli mam rolę np. 'edit_user' to dostęp mają mieć użytkownicy tylko z taką rolą (edit_user).

W obecnej chwili działa to nawet jeśli użytkownik ma część stringu np. user, us, edit.

Proszę o pomoc jaką funkcję użyć aby porównywała cały ciąg znaków.
Go to the top of the page
+Quote Post
Wicepsik
post 14.07.2010, 13:25:23
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


  1. if($ar[0]['user_perms'] == $perm) echo 'oba stringi sa takie same';


--------------------
Go to the top of the page
+Quote Post
agata
post 14.07.2010, 13:31:32
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 4.12.2009

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


taka opcja się nie sprawdza ponieważ role w bazie są nadawane w postaci: rola|rola1|rola2.

Na razie zrobiłam to tak:
  1. IF(strstr($ar[0]['user_perms'], $perm))


i działa, ale nie wiem czy na pewno tak to może być, jak ktoś ma lepszy pomysł to proszę pisać.
Go to the top of the page
+Quote Post
zordon
post 14.07.2010, 13:40:10
Post #4





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


użyłbym raczej strpos():
  1. if(strstr($ar[0]['user_perms'], $perm !== false)

można też rozbić ten twój string z bazy "rola|rola1|rola2"
za pomocą explode i później porównywać jako zwykłe stringi

Ten post edytował zordon 14.07.2010, 13:42:36
Go to the top of the page
+Quote Post
agata
post 14.07.2010, 13:49:52
Post #5





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 4.12.2009

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


właśnie miałam strpos() na początku ale w ogóle to nie działa, tak jakby nie widział ról.

Na razie zostanę przy tym skoro działa.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 09:02