Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie wypełnienia formularza
Forum PHP.pl > Forum > PHP
Damiian
Witam.

Chciałbym aby mój skrypt po wypełnieniu wszystkich pol i podaniu unikalnego kodu znajdującego sie w kody.txt przenosił użytkownika na dana stronę, lecz jesli nie wypelni on jakiegoś pola, to żeby pokazywala mu sie informacja...

Zrobiłem takie coś:

  1. <?php
  2. if (!empty($_POST['Nick']) && !empty($_POST['Haslo']) && !empty($_POST['Kod']))
  3. {
  4. $plik = file_get_contents("kody.txt");
  5. $plik = explode(",", $plik);
  6. }
  7. if(in_array($_POST['Kod'], $plik))
  8. {
  9. header('Location: [url="http://php.pl&#39%3b%29;"]http://php.pl');[/url]
  10. }
  11. else
  12. {
  13. echo 'podales zly kod!';
  14. }
  15. if (!empty($_POST['Nick']) && !empty($_POST['Haslo']) && !empty($_POST['Kod']))
  16. {
  17. echo '';
  18. }
  19. else
  20. {
  21. echo 'Uzupelnij wszystkie pola!';
  22. }
  23. ?>


Strona przykladowa...


I Gdy:
Wpisze w pierwsze pole: "a"
W drugie "a"
W trzecie "11111" ( taki kod mam w kod txt )
To działa, idzie do waszej strony

Następnie:
Wpisze w pierwsze pole: "a"
Drugie zostawie puste
W trzecie "11111"

To pokazuje mi sie komunikat:
podales zly kod!Uzupelnij wszystkie pola!
Kod przecież jest dobry...
Powinno wyswietlić sie tylko uzupelnij pola.

Prosze o pomoc o poprawne wykonanie skryptu. Dopiero zaczynam z Php, i wiem ze troche namieszałem winksmiley.jpg


Trochę przy tym posiedziałem i pisałem od poczatku:

  1. <?php
  2. if (!empty($_POST['Kod']))
  3. {
  4. $plik = file_get_contents("kody.txt");
  5. $plik = explode(",", $plik);
  6. }
  7. else
  8. {
  9. echo 'Podaj kod<br/>';
  10. }
  11. if (!empty($_POST['Nick']))
  12. {
  13. echo '';
  14. }
  15. else
  16. {
  17. echo 'Uzupelnij nick!<br/>';
  18. }
  19.  
  20. if (!empty($_POST['Haslo']))
  21. {
  22. echo '';
  23. }
  24. else
  25. {
  26. echo 'Uzupelnij haslo!<br/>';
  27. }
  28.  
  29. if (in_array($_POST['Kod'], $plik))
  30. {
  31. echo '';
  32. }
  33. else
  34. {
  35. echo 'Musiales sie pomylic! Takiego kodu nie ma w bazie!<br/>';
  36. }
  37.  
  38.  
  39. if(!empty($_POST['Nick']) && !empty($_POST['Haslo']) && in_array($_POST['Kod'], $plik))
  40. {
  41. header('Location: [url="http://php.pl&#39%3b%29;"]http://php.pl');[/url]
  42. }
  43. ?>


Lecz teraz gdy pole kod jest puste i dam wyslij to mam wiadomość:
Podaj kod
Musiales sie pomylic! Takiego kodu nie ma w bazie!


A chce aby było samo:
  1. Podaj Kod
tehaha
to posiedź jeszcze trochę i pomyśl nad tym jakie warunki zrobiłeś, podpowiem Ci tyle, że znak ! to negacja
Damiian
Posiedziałem trochę i zrobiłem smile.gif
Dziekuje:)

Dobrze jest wykonane czy mozna jakoś jeszcze to zoptymalizować?

  1. <?php
  2. if (!empty($_POST['Kod']))
  3. {
  4. $plik = file_get_contents("kody.txt");
  5. $plik = explode(",", $plik);
  6. }
  7. else
  8. {
  9. echo '';
  10. }
  11. if (!empty($_POST['Nick']))
  12. {
  13. echo '';
  14. }
  15. else
  16. {
  17. echo 'Uzupelnij nick!<br/>';
  18.  
  19. }
  20.  
  21. if (!empty($_POST['Haslo']))
  22. {
  23. echo '';
  24. }
  25. else
  26. {
  27. echo 'Uzupelnij haslo!<br/>';
  28. }
  29.  
  30.  
  31. if (empty($_POST['Kod']))
  32. {
  33. echo 'Wpisz kod!';
  34. }
  35. else
  36. if (in_array($_POST['Kod'], $plik))
  37. {
  38. echo '';
  39. }
  40. else
  41. {
  42. echo 'Nie ma takiego kodu w bazie!<br/>';
  43. }
  44.  
  45.  
  46. if(!empty($_POST['Nick']) && !empty($_POST['Haslo']) && in_array($_POST['Kod'], $plik))
  47. {
  48. header('Location: /check.php');
  49. }
  50. ?>
tehaha
jak dla mnie takie coś jest bez sensu:
  1. if (!empty($_POST['Haslo']))
  2. {
  3. echo '';
  4. }
  5. else
  6. {
  7. echo 'Uzupelnij haslo!<br/>';
  8. }

nie prościej bez negacji?
  1. if (empty($_POST['Haslo']))
  2. {
  3. echo 'Uzupelnij haslo!<br/>';
  4. }

tak samo przy in_array(), po co puste echo, lepiej !in_array() i tylko ten drugi komunikat
Damiian
Serdecznie dziękuje za pomoc. smile.gif

Oczywiscie Pomógł

Pozdrawiam Gdynianina smile.gif
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.