Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak to naprawic?
Forum PHP.pl > Forum > Przedszkole
Gość_kuba
czesc... mam taki oto problem.
mam skrypt, ktory w zaleznosci od wartosci zmiennej $link (za pomoca switch'a) obsluguje mi dany formularz.
np. jezeli mam $link = 'prace' powinno mi obsluzyc formularz i w razie bledow, wyswietlic je nad formularzem...
problem twki w tym, ze po nieprawidlowym wypelnieniu formularza przenosci mnie na admin.php a nie wyswietla jeszcze raz formularza i notek, co zle zrobilem - $download_message.
gdzie blad?

  1. <?php
  2. //obsluz formularz dla 'download'
  3. if (isset($_POST['download_wyslij'])) {
  4. $download_message = NULL;
  5. if (strlen($_POST['download_przedmiot']) > 0) {
  6. if ($_POST['download_przedmiot'] != 'angielski' OR $_POST['download_przedmiot'] != 'chemia' OR $_POST['download_przedmiot'] != 'fizyka' OR $_POST['download_przedmiot'] != 'geografia' OR $_POST['download_przedmiot'] != 'historia' OR $_POST['download_przedmiot'] != 'matematyka' OR $_POST['download_przedmiot'] != 'niemiecki' OR $_POST['download_przedmiot'] != 'po' OR $_POST['download_przedmiot'] != 'polski' OR $_POST['download_przedmiot'] != 'religia' OR $_POST['download_przedmiot'] != 'wos') {
  7. $download_przedmiot1 = escape_data($_POST['download_przedmiot']);
  8. } else {
  9. $download_przedmiot1 = FALSE;
  10. $download_message .= &#092;"pole przedmiot musi mieć jedn&plusmn; z podanych warto&para;ci: <span color=\"#000;\">angielski, chemia, fizyka, geografia, historia, matematyka, niemiecki, po, p
  11. lski, religia, wos</span>.<br />n\";
  12. }
  13. } else {
  14. $download_przedmiot1 = FALSE;
  15. $download_message .= \"podaj przedmiot, okre&para;laj&plusmn;cy dziedzinę pracy.<br />n\";
  16. }
  17. if (strlen($_POST['download_nazwa']) > 0) {
  18. $download_nazwa1 = escape_data($_POST['download_nazwa']);
  19. } else {
  20. $download_nazwa1 = FALSE;
  21. $download_message .= \"podaj nazwę pliku.<br />n\";
  22. }
  23. if (strlen($_POST['download_link']) > 0) {
  24. $download_link1 = escape_data($_POST['download_link']);
  25. } else {
  26. $download_link1 = FALSE;
  27. $download_message .= \"podaj nazwę pliku.<br />n\";
  28. }
  29. if (strlen($_POST['download_wielkosc']) > 0) {
  30. if (is_numeric($_POST['wielkosc'])) {
  31. $download_wielkosc1 = $_POST['download_wielkosc'];
  32. } else {
  33. $download_wielkosc1 = FALSE;
  34. $download_message .= \"wielko&para;ć musi być warto&para;ci&plusmn; liczbow&plusmn;.<br />n\";
  35. }
  36. } else {
  37. $download_wielkosc1 = FALSE;
  38. $download_message .= \"podaj wielkosc pliku.<br />n\";
  39. }
  40. //jezeli dane sie zgadzaja
  41. if ($download_przedmiot1 && $download_nazwa1 && $download_link1 && $dawnload_wielkosc1) {
  42. $query_download = \"INSERT INTO download_spis (data, przedmiot, link, nazwa, wielkosc) VALUES (NOW(), '$download_przedmiot1', '$download_link1', '$download_nazwa1', '$download_wielkosc1')\";
  43. $result_download = @mysql_query($query_download);
  44. if ($result_download) {
  45. header (\"Location: http://\" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . \"/admin.php\");
  46. exit();
  47. } else {
  48. $message_sprawdziany = 'awaria systemu.' . mysql_error() . '<br />' . &#092;"n\";
  49. }
  50. }
  51. }
  52. ?>


i moze ktos ma jakis pomysl, jak moge skrocic:
  1. <?php
  2. if ($_POST['download_przedmiot'] != 'angielski' OR $_POST['download_przedmiot'] != 'chemia' OR $_POST['download_przedmiot'] != 'fizyka' OR $_POST['download_przedmiot'] != 'geografia' OR $_POST['download_przedmiot'] != 'historia' OR $_POST['download_przedmiot'] != 'matematyka' OR $_POST['download_przedmiot'] != 'niemiecki' OR $_POST['download_przedmiot'] != 'po' OR $_POST['download_przedmiot'] != 'polski' OR $_POST['download_przedmiot'] != 'religia' OR $_POST['download_przedmiot'] != 'wos') {
  3. ?>


z gory dziekuje za pomoc.
Gość_kuba
zapomnialem.... tak w razie czego - to jest kod formularza:

  1. <?php
  2. echo &#092;"<form action=\"\" . $_SERVER['PHP_SELF'] . \"\" method=\"post\">n\";
  3. echo &#092;"<table cellspacing=\"0\" cellpadding=\"0\">n\";
  4. echo &#092;"<tr>n\";
  5. echo &#092;"<td class=\"download_lewa\">przedmiot:</td>n\";
  6. echo &#092;"<td class=\"download_prawa\"><input type=\"text\" name=\"download_przedmiot\" size=\"40\" />\"; if (isset($_POST['download_przedmiot'])) {echo stripslashes($_POST['download_przedmiot']);} echo \"</td>n\";
  7. echo &#092;"</tr>n\";
  8. echo &#092;"<tr>n\";
  9. echo &#092;"<td class=\"download_lewa\">nazwa:</td>n\";
  10. echo &#092;"<td class=\"download_prawa\"><input type=\"text\" name=\"download_nazwa\" size=\"40\" />\"; if (isset($_POST['download_nazwa'])) {echo stripslashes($_POST['download_nazwa']);} echo \"</td>n\";
  11. echo &#092;"</tr>n\";
  12. echo &#092;"<tr>n\";
  13. echo &#092;"<td class=\"download_lewa\">link:</td>n\";
  14. echo &#092;"<td class=\"download_prawa\"><input type=\"text\" name=\"download_link\" size=\"40\" />\"; if (isset($_POST['download_link'])) {echo stripslashes($_POST['download_link']);} echo \"</td>n\";
  15. echo &#092;"</tr>n\";
  16. echo &#092;"<tr>n\";
  17. echo &#092;"<td class=\"download_lewa\">wielko&para;ć:</td>n\";
  18. echo &#092;"<td class=\"download_prawa\"><input type=\"text\" name=\"download_wielkosc\" size=\"5\" /><\"; if (isset($_POST['download_wielkosc'])) {echo stripslashes($_POST['download_wielkosc']);} echo \"/td>n\";
  19. echo &#092;"</tr>n\";
  20. echo &#092;"<tr>n\";
  21. echo &#092;"<td id=\"download_razem\" colspan=\"2\"><input type=\"submit\" name=\"download_wyslij\" value=\"dodaj prace do spisu\" /></td>n\";
  22. echo &#092;"</tr>n\";
  23. echo &#092;"</table>n\";
  24. echo &#092;"</form>n\";
  25. ?>


moze problem twki w wartosci action w <form> ? strzelam, bo nie wiem... wiec prosze nie smiac sie
cim
  1. <?php
  2. function sprawdz($wybrane){
  3. $jest = false;
  4. $przedmioty = array('angielski', 'chemia', 'fizyka', 'geografia', 'historia', 'matematyka', 'niemiecki', 'po', 'polski', 'religia', 'wos');
  5.  
  6. foreach($przedmioty as $value){
  7. if($wybrane == $value) break; $jest = true;
  8. }
  9.  
  10. return $jest;
  11. }
  12.  
  13. ?>


[php]if(sprawdz($_POST['download_przedmiot'] == true){ .... }else{ .... }

wiele krótsze to chyba nie jest, ale bardzej poręczne i milsze dla oka
popbart
Albo tak biggrin.gif
  1. <?php
  2. $przedmioty = array('angielski', 'chemia', 'fizyka', 'geografia', 'historia', 'matematyka', 'niemiecki', 'po', 'polski', 'religia', 'wos');
  3. if(!in_array($_POST['download_przedmiot']),$przedmioty)
  4. {
  5.  $download_przedmiot1 = escape_data($_POST['download_przedmiot']);
  6. }
  7. else ....
  8.  
  9. ?>
Gość_kuba
dzieki za kody...
ale jeszcze jedna kwestia - dlaczego nie dziala?
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.