Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Kłopot z wieloma warunkami
Forum PHP.pl > Forum > Przedszkole
Coolmax
Jestem o krok o napisania skryptu, ale utkwiłem w tym miejscu:

  1. <?php
  2. if(isset($submit))
  3. {
  4. if($login == "")
  5. {
  6.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $login pokazuj
    e się "Wypełnij to pole"
  7. }
  8. elseif($pswd == "")
  9. {
  10.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $pswd pokazuje
     się "Wypełnij to pole"
  11. }
  12. elseif($email == "")
  13. {
  14.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $email pokazuj
    e się "Wypełnij to pole"
  15. }
  16. else
  17. {
  18. echo "OK!";
  19. }
  20. }
  21. else
  22. {
  23. //tutaj kod poczatkowy, znajdujący sie przed submitem
  24. }
  25. ?>

Może ktoś wie dlaczego to nie działa?
P.S.
Dlaczego w podglądzie posta, przy każdym cudzysłowiu automat. dodaje backslash? dla echa byłoby to dobre, ale przy każdym??
nospor
Cytat
Może ktoś wie dlaczego to nie działa?
No ale w jakim sensie nie dziala? Co sie dzieje. czy naprawde nie mozna tego napisac? Trzeba sie dopytywac?

Pozaytym jesli nikt nic nie wypelni to pojawi sie tylko przy login komunikat. jesli wypelni login to pojawi sie przy nastepnym i tak dalej

Cytat
Dlaczego w podglądzie posta, przy każdym cudzysłowiu automat. dodaje backslash?
To bug forum ktory czeka na poprawe

i prosze poprawic tytul o znacznik zgodnie z zasadami forum przedszkole
Gość
  1. <?php
  2. if(isset($submit))
  3. {
  4. if($login == "")
  5. {
  6.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $login pokazuj
    e się "Wypełnij to pole"
  7. }
  8. if($pswd == "")
  9. {
  10.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $pswd pokazuje
     się "Wypełnij to pole"
  11. }
  12. if($email == "")
  13. {
  14.  //w tym miejscu jest kod, który powoduje, że obok inputa ze zmienną $email pokazuj
    e się "Wypełnij to pole"
  15. }
  16. else
  17. {
  18. echo "OK!";
  19. }
  20. }
  21. else
  22. {
  23. //tutaj kod poczatkowy, znajdujący sie przed submitem
  24. }
  25. ?>

To powino byc OK
nospor
@gosciu Twoj kod w przypadku gdy wszystkie pola beda bledne a tylko email bedzie ok, wyswietli tekst: OK
Ludvik
Zamiast porównywać do pustego ciągu, sprawdź zmienne słowem kluczowym empty. Poza tym piszesz jakbyś miał włączone register_globals. Lepiej użyj tablicy $_GET albo $_POST, w zależności od metody żądania.
Coolmax
Zapisanie prawidłowego warunku jest jednak sztuką i na razie zrezygnuje z tego. Wystarczy mi jeden tekst, wypełnij wszystkie pola...
Jak będe miał czas to się pogłowie, no chyba, że ktoś wie i nabije sobie ten jeden post więcej winksmiley.jpg

Cytat(nospor @ 26.06.2006, 15:08 ) *
Pozaytym jesli nikt nic nie wypelni to pojawi sie tylko przy login komunikat. jesli wypelni login to pojawi sie przy nastepnym i tak dalej


Miałeś rację nospor. Nawet w manualu pisze: "Można użyć kilku instrukcji elseif w jednym bloku instrukcji if. Wykonany wtedy będzie ten blok, który pierwszy będzie mieć wartość TRUE." No i udało mi się napisać. Chyba nie da się tego jeszcze prościej zrobić, dlatego rezygnuje z tej opcji:

  1. <?php
  2. if($login == "" && $pswd == "" && $email == "")
  3. {
  4.  // obok inputa login, pswd, email "Wypełnij te pole".
  5. }
  6. elseif($login == "" && $pswd != "" && $email != "")
  7. {
  8.  // obok inputa login
  9. }
  10. elseif($login != "" && $pswd == "" && $email == "")
  11. {
  12.  // obok inputa pswd, email
  13. }
  14. elseif($login == "" && $pswd != "" && $email == "")
  15. {
  16.  // obok inputa login, email
  17. }
  18. elseif($login == "" && $pswd == "" && $email != "")
  19. {
  20.  // obok inputa login, pswd
  21. }
  22. elseif($login != "" && $pswd == "" && $email != "")
  23. {
  24.  // obok inputa pswd
  25. }
  26. elseif($login != "" && $pswd != "" && $email == "")
  27. {
  28.  // obok inputa email
  29. }
  30. else
  31. {
  32.  //OK!!
  33. }
  34. ?>


A więc jak ktoś ma 4 inputy, to musi zrobić 2^4=16, 2^5=32 itd.
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.