Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] warunek IF, porównanie dwóch zmiennych typu string.
husky999
post 3.07.2013, 10:54:45
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.07.2010

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


Witam,

mam dwie zmienne:

  1. $zmienna1 = $_POST['nazwa'];
  2. $zmienna2 = 'nazwa';
zmienna 1 to wartość przekazywana z formularza, a zmienna2 to osobna zmienna utworzona do porównania.

Kiedy buduję warunek if i staram się sprawdzić czy pasują do siebie (=) to powstaje problem, ponieważ warunek zawsze jest spełniony niezależnie od pola jakie jest przekazywane w POST.

Z pewnością dzieje się tak, dlatego bo nie stosuje specjalnej funkcji do porównywania stringów.

Bardzo proszę o pomoc w skonstruowaniu warunku który zaradzi z tym problemem z wykorzystaniem odpowiedniego narzędzia.

czytałem że pomocne może byc
ale mam problem.
Go to the top of the page
+Quote Post
!*!
post 3.07.2013, 10:57:36
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Podstawy się kłaniają. Sprawdzaj == a nie przypisuj =
http://phpkurs.pl/operatory/#operatory.porownania

Ten post edytował !*! 3.07.2013, 10:58:41


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Szymciosek
post 3.07.2013, 10:58:41
Post #3





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


  1. if ($str1 === $str2)
  2. {
  3. //instrukcje
  4. }


lub

  1. if ($str1 == $str2)
  2. {
  3. //instrukcje
  4. }



Pierwszy wskazuje na identyczność, wartość i typ, a drugi sprawdza tylko czy wartość wskazuje to samo.

Mówisz, że dałeś "=" a to jest przypisanie.
Go to the top of the page
+Quote Post
husky999
post 3.07.2013, 12:02:16
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.07.2010

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


  1. if($name === $sprawy){
  2. ... }
  3. else ...


porównanie zmiennej i typu, to też robiłem, ale nie działa.

W poprzednim formiewartoscią w polu select jest zmienna string 'costam'.

Przekazuje ją potem i po wywołaniu warunku przyrównującej zmienną z select do innej tego samego typu nie daje żadnego efektu. warunek ciągle jest prawdzywy. dopiero jak wstawie tam liczby to wszystko chodzi. gdy próbuję ze string nie d się, a bardzo zalezy mi na tym, bo potem łatwiej będzie mi wybrać bazę danych z tej własnie postowanej zmiennej.

PS. nie pisałbym postu gdybym nie sprawdził wcześniej wszystkich możliwości, albo gdybym nie wpadł ze mogę też użyć == lub === pewnie nie znalazł bym tego forum;p

Ten post edytował husky999 3.07.2013, 12:03:31
Go to the top of the page
+Quote Post
!*!
post 3.07.2013, 12:05:14
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Pokaż kod w całości.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
husky999
post 3.07.2013, 12:29:56
Post #6





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.07.2010

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


Problem rozwiązany. Miałem za bardzo rozwiniętą instrukcję warunkową. Do zamknięcia:) Dzięki za pomoc.
Go to the top of the page
+Quote Post
Dejmien_85
post 3.07.2013, 12:39:26
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 23
Dołączył: 23.04.2013

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


Dla potomnych: najprostszym sposobem jest zawsze sprawdzenie co idzie do warunku (czyli wyświetlenie zmiennych za pomocą choćby "echo" tuż przed umieszczeniem ich w warunku) - wtedy masz pewność, czy problem leży w zmiennych, czy w kodzie.

Ten post edytował Dejmien_85 3.07.2013, 12:43:01
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: 8.05.2025 - 06:49