Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak to naprawic?
-Gość_kuba-
post
Post #1





Goście







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 to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
-Gość_kuba-
post
Post #2





Goście







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
Go to the top of the page
+Quote Post
cim
post
Post #3





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

Ostrzeżenie: (0%)
-----


  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


--------------------
errare humanum est
Go to the top of the page
+Quote Post
popbart
post
Post #4





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował popbart 17.09.2004, 19:49:24


--------------------
Visual Basic - kto by pomyślał :)
Go to the top of the page
+Quote Post
-Gość_kuba-
post
Post #5





Goście







dzieki za kody...
ale jeszcze jedna kwestia - dlaczego nie dziala?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 22:06