Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Problem z if
Forum PHP.pl > Forum > Przedszkole
devsiok
Staram sie zrozumiec skladnie if

Wykonalem prosty program gdzie strona nakazuje wpisanie do pola innej liczby niz 111. Jak wpisze 111 to ma otworzyc sie strona i wyswietlic "wpisales 111" i ponownie nalezy wpisac zmienna do formularza. Jak wpiszemy inna liczbe niz 111 to wyswietli sie inna strona, ktora mowi "wszystko ok" problem w tym ze jak wpisuje 111 to zawsze pojawia sie komunikat "wszystko ok" czyli robie cos zle w skladni if. Prosze wiec o pomoc w znalezieniu bledu.

PLIKI:

index.htm
  1. <form action="test.php" method="get">
  2. Wpisz do pola inna liczbe niz 111<br><br>
  3. <input name="liczba" value="" /><br><br>
  4. <input type="submit" value="Wyślij" name="submit" />



test.php
  1. <?
  2. $liczba = $_get['liczba'];
  3.  
  4. if ($liczba == '111')
  5. {
  6. header("Location: zle.htm");
  7. } else {
  8. header("Location: dobrze.htm");
  9. }
  10. ?>



zle.php
  1. <form action="test.php" method="get">
  2. <b><font color="red">WPISALES 111</font><br><br><br></b>
  3. Wpisz do pola inna liczbe niz 111<br><br>
  4. <input name="liczba" value="" /><br><br>
  5. <input type="submit" value="Wyślij" name="submit" />



dobrze.php
  1. <b><font color="red">WSZYSTKO OK</font><br><br><br></b>
nospor
$liczba = '111' - przypisanie
$liczba == '111' - porownanie

Takie tam podstawy php
viking
Masz standardowy błąd początkującego. Masz przypisanie zamiast porównania w if.
devsiok
zmienilem na == jednak problem w dalszym ciagu jest ten sam dalej wyskakuje mi ze jest ok a nie powinno

www.devsiok.nazwa.pl/test
nospor
Widze kolea o ELSE nie slyszal

  1. if ($liczba == '111')
  2. {
  3. header("Location: zle.htm");
  4. } else {
  5. header("Location: dobrze.htm");
  6. }

Wywalilem tez ECHO
devsiok
plik test.php zmieniony ale niestety dalej nic to nie zmienilo sad.gif

http://www.devsiok.nazwa.pl/test
nospor
No dobrze, ale nigdzie nie masz zmiennej $liczba utworzonej...

nie $liczba a $_POST['liczba']

edit: nie $_POST a $_GET bo ty getem slesz forma
devsiok
fakt nie zdeciniowalem liczby smile.gif

dodalem przed ifem

$liczba = $_get['liczba'];

zaktualizowalem juz plik test.php

niestety dalej nie dziala sad.gif

Faktycznie wpisalem zamiast liczby $_get['liczba'];

ale jaka to roznica miedzy wpisaniem na poczatku $liczba = $_get['liczba']; a pozniejszym zastapieniu $liczba - $_get['liczba'] ?
nospor
nie $_get a $_GET - to juz jest roznica.
devsiok
i to jest to smile.gif dzieki wielkie !
viking
Przy okazji skoro to liczba to zrób jej od razu odpowiednie rzutowanie.
Przykładowo $liczba = (int) $_GET['liczba'];
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.