Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z if
Forum PHP.pl > Forum > Przedszkole
Myrek
Witam
Chcę żeby, w zależności od nazwy przechowywanej w zmiennej wyświetlał się tekst. Mam taki skrypt:
  1. <?php
  2.  
  3. require_once (&#092;"funkcje.php\");
  4. if ($m = 'rejestracja')
  5. echo '1';
  6. if ($m = 'log')
  7. echo '2';
  8.  
  9. ?>

Przekazuje zmiennej m nazwę log przez formularz w postaci
  1. <form method=post action="uzytkownicy.php?m=log">

Czyli zmienna $m ma wartość log, więc powinna wyświetlić się tylko cyfra 2, a mi wyświetla się 1 i 2, czyli tak, jakby warunki nie były brane pod uwagę. Co tu jest źle?
Dzięki.
Liko
Źle odczytujesz zmienną. Zmienne podanwane w adresie odczytuje się poprzez tablice: $_GET gdzie kluczem jest nazwa zmiennej przekazanej w adresie. Pozatym znak "=" nie jest to znak porówania tylko przypisania czyli zamisat "=" musisz wstawic "==" zeby cos porównać. Poprawny kod to:
  1. <?php
  2.  
  3.   require_once (&#092;"funkcje.php\");
  4.   if ($_GET['m'] == 'rejestracja')
  5.   echo '1';
  6.   if ($_GET['m'] == 'log')
  7.   echo '2';
  8.  
  9. ?>
Myrek
Fakt, o == zapomniałem. Już ponad rok nic nie pisałem w php i zapomniałem to i owo. Jeśli chodzi o tablie $_GET, to chyba nie trzeba jej używać. Ja robiłem ostatnio skrypty, gdzie takie przekazanie nie było możliwe, bo wprowadzono to niedawno w php. Takie przekazanie zmiennej, jakie zaproponowałem też jest ok., ale to z znakiem przypisania = jest źle.
Dzięki za pomoc.
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.