Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Porownanie zmiennych wewnatrz fukcji
axys
post 12.08.2004, 01:55:45
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.07.2004

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


Witam,
Przeszukałem grupę, ale nie znalazłem podobnego problemu. Pewnie rozwiązanie jest banalne, więc piszę na grupę dla początkująch...

Problem jest taki:
Mam funkcję do porównania 2 zmiennych tekstowych ($zm1 i $zm2), gdzie jedna zmienna jest przekazana do fukcji ($zm1), a drugą funkcja zciąga sobie z bazy danych ($zm2).

Gdy teraz chcę porównać obie zmienne np. if ($zm1 == $zm2) echo "OK" - to wynik wcale nie jest "OK" :) Pomimo, iż gdy zrobię:
echo $zm1,
echo $zm2 - na ekranie widzę dokładnie te same ciągi (sprawdzałem - nie ma żadnych spacji przed ani po).
Zrobiłem test i porównałem 2 zmienne o takich samych wartościach wprowadzane do funkcji np. (function loguj($zm11, $zm22)) - wynik porównania $zm11 i $zm22 działa prawidłowo. Podobnie, gdy porónuję 2 zmienne zawierające takie same wartości pobrane z bazy danych...
Najlepsze jest to, że skrypt ten działa na wszysktich serwerach z jakimi do tej pory miałem do czyniena poza tym jednym, jedynym... który pewnie jest jakoś niestandardowo skonfigurowany... Czy ktoś wie o co chodzi?

pozdr.
axys
Go to the top of the page
+Quote Post
sf
post 12.08.2004, 09:37:52
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


może znaki końca lini ? i dlatego te zmienne nie są równe


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
axys
post 12.08.2004, 15:21:19
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.07.2004

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


Ha...
Coś się tam faktycznie przyczepiło.. tylko dlaczego?
Porównałem strlen obu zmiennych i ta z bazy ma o 1 znak więcej (chociaż nie widać tego znaku przy echo)...
Do wrzucenia danych do bazy użyłem programu SQLyog i to wyraźnie on dodał coś na końcu każdej zmiennej. Napisałem teraz program php wrzucający te zmeinne do bazy - i jest ok....

axys

Ten post edytował axys 12.08.2004, 16:16:06
Go to the top of the page
+Quote Post
hwao
post 12.08.2004, 16:56:02
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Wrzuc obie zmiene tak
  1. <?php
  2. if( trim( $zmienna1 ) == trim( $zmienna2 ) )
  3. //...
  4. ?>


trim" title="Zobacz w manualu PHP" target="_manual()
Go to the top of the page
+Quote Post
broU
post 12.08.2004, 21:41:53
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.07.2004

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


nie jestem pewien , ale aby zobaczyć czy zmienne sa takie same mozna ja chyba potraktowac md5 i porownac ? jesli nie mam racji to prosze mnie uswiadomic :]

PS: oczywiscie mozna trafic na dwa rozne wyrazy ktore po md5 zwracaja identyczny hash - ale pominmy ten fakt ;]

Ten post edytował broU 12.08.2004, 21:42:54
Go to the top of the page
+Quote Post
axys
post 12.08.2004, 22:54:46
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.07.2004

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


Dzięki za rady.

A co to jest md5? (nie słyszałem nigdy o czymś takim...)

axys
Go to the top of the page
+Quote Post
sf
post 12.08.2004, 23:29:19
Post #7





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


axys: wpisz na stronie php.net frazę "md5" na forum była wiele razy wykorzystywana ta funkcja... służy przeważnie do kodowania hasła


--------------------
Zapraszam na mój php blog, tworzenie stron.
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: 18.07.2025 - 10:43