Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z obsluga formularza
n3on
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.05.2005

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


Mam cos takiego:
  1. <?php 
  2. {
  3.   $header = &#092;"MIME-Version: 1.0nContent-type: text/html; charset=iso-8859-2nContent-Transfer-Encoding: 8bitnFrom: adres@nadawcyn\";
  4.   $tresc = &#092;"<html><body bgcolor=#EFFEF2><font face=arial><b>Nazwisko:</b> $nazwisko<br><b>Ilość pokoi:</b> $pokoje<br><b>Rodzaj pokoi:</b>$pokoj_r<br><b>Termin przybycia:</b>$przybycie<br><b>Termin odjazdu:</b> $odjazd<br> <b>Telefon kontaktowy:</b> $tel_kont<br>\";
  5.   if ($dane_faktury) { $tresc .= $faktura_nazwa.'<br>'.$faktura_ulica.'<br>'.$faktura_kod.'<br>'.$faktura_nip.'<br> '; }
  6.   
  7.   if (!empty($nazwisko) || !empty($pokoje) || !empty($pokoj_r) || !empty($przybycie) || !empty($odjazd) || !empty($tel_kont))
  8.   {
  9.    if ($dane_faktury)
  10.    {
  11.     if(!empty($faktura_nazwa) || !empty($faktura_ulica) || !empty($faktura_kod) || !empty($faktura_nip))
  12.     {
  13.      $mail=@mail(&#092;"adres@odbiorcy\",\"rezerwacja miejsc\",\"$tresc</b></body></html>\",$header);
  14.      if ($mail) 
  15.      { 
  16.       echo &#092;"<p class=text>Dziękujemy za wysłanie fomularza.<br></p>\";
  17.      }
  18.      else
  19.      {
  20.       echo &#092;"<p class=text>Formularz nie mógł zostać wysłany z powodów od nas niezależnych.<br><a href=zamowienie.html>Spróbuj ponownie.</a></p>\"; 
  21.      }
  22.     }
  23.     else 
  24.     {
  25.      echo&#092;"<p class=text>Nie wypełniłeś wszystkich wymaganych pól.<br><a href=zamowienie.html>Powrót do formularza</a><p>\";
  26.     }
  27.    }
  28.    else
  29.    {
  30.     $mail=@mail(&#092;"adres@odbiorcy\",\"rezerwacja miejsc\",\"$tresc</b></body></html>\",$header);
  31.     if ($mail) 
  32.     { 
  33.      echo&#092;"<p class=text>Dziękujemy za wysłanie fomularza.<br></p>\";
  34.     }
  35.     else
  36.     {
  37.      echo&#092;"<p class=text>Formularz nie mógł zostać wysłany z powodów od nas niezależnych.<br><a href=zamowienie.html>Spróbuj ponownie.</a></p>\"; 
  38.     }
  39.    }
  40.   }
  41.   else
  42.   {
  43.    echo&#092;"<p class=text>Nie wypełniłeś wszystkich wymaganych pól.<br><a href=zamowienie.html>Powrót do formularza</a><p>\";
  44.   }
  45. }
  46. ?>      


i powinno to dzialac na takiej zasadzie ze gdy nie wpisze danych w pola podstawowe (pierwsze if) to odrazu zglasza blad niewypelnienia pol. jesli wypelnie dane faktury pomijajac ktores z pol rowniez zglasza blad. Niestety nie dziala to w ten sposob - niezaleznie co bym nie wpisal zawsze wysyla maila - nawet przy wszystkich polach pustych.

Ten post edytował n3on 5.05.2005, 17:24:36


--------------------
fotografia | grafika
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze: używaj odpowoedniego BBCODE
Po drugie: ja tam nigdzie nie widzę znacznik <form> ani żadnego input. Gdzie niby gościu ma wpisać jakiekolwiek dane?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Wave
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


nospor zauważ że skrypt nie ma zwracać danych do tablic get czy post tylko je weryfikować. :] Formularz zapewne znajduje się w innym pliku...

n3on odnoś się do danych poprzez tabilce, np:
  1. <?php
  2.  
  3. if (!empty($_POST['nazwisko']) || !empty($_POST['pokoje']))
  4.  
  5. ?>


Ten post edytował Wave 4.05.2005, 13:56:44
Go to the top of the page
+Quote Post
n3on
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.05.2005

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


dane z formularza sa przekazywane - wrzucilem echo i wyswietla wszystko co zostanie wpisane, tak wiec z przekazywaniem danych nie ma problemu. Dziala to tak jakby nie sprawdzalo czy ktoras ze zmiennych jest pusta. Moze jakies sugestie jak to naprawic? uzyc innej metody? inaczej sformulowac warunek? ja nie widze powodu dla ktorego tak sie dzieje...

jesli to w czyms pomoze - ponizej kod formularza: (pomiedzy poszczegolnymi polami formularza znajduje sie kod html ktory wycialem - tylko formatowanie strony)

  1. <?php
  2.  
  3. <form method=&#092;"post\" action=\"m.php\" name=dane>
  4. <input type=&#092;"text\" size=\"25\" name=\"nazwisko\" class=\"form\">
  5. <input name=&#092;"tel_kont\" type=\"text\" class=\"form\" id=\"tel_kont\" size=\"25\">
  6. <input name=&#092;"przybycie\" type=\"text\" class=\"form\" id=\"przybycie\" size=\"25\">
  7. <input name=&#092;"odjazd\" type=\"text\" class=\"form\" id=\"odjazd\" size=\"25\">
  8. <select name=&#092;"pokoj_r\" class=\"form\">
  9. <option value=&#092;"1osobowy\">1 osobowy</option>
  10. <option value=&#092;"2osobowy\">2 osobowy</option>
  11. </select>
  12. <input type=&#092;"text\" size=\"25\" name=\"pokoje\" class=\"form\">
  13. <input type=checkbox name='dane_faktury'><input name=faktura_nazwa type=text class=&#092;"form\" size=25 >
  14. <input name=faktura_ulica type=text class=&#092;"form\" size=25 >
  15. <input name=faktura_kod type=text class=&#092;"form\" size=25 >
  16. <input name=faktura_nip type=text class=&#092;"form\" size=25>
  17. <input value=&#092;"Wyślij\" name=\"submitform\" type=\"submit\">
  18. </form>
  19.  
  20. ?>


Ten post edytował n3on 5.05.2005, 17:50:23


--------------------
fotografia | grafika
Go to the top of the page
+Quote Post
mariuz
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 3.05.2005
Skąd: Konstancin-Jeziorna

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


N3on mi sie wydaje , że wykrzyknik neguje to empty wiec przykladowo:
  1. <?php
  2.  
  3. if !empty($i) 
  4. echo &#092;"coś jest\";
  5. if empty($i)
  6. echo &#092;"pusto\";
  7.  
  8.  
  9. ?>


Ale to tylko moje skromne zdanie (kogos kto sie nie zna)
Jeżeli sie mylę to poprawcie mnie ale nie karccie za to winksmiley.jpg
Pozdro


--------------------

Śmietnik na którym testuje skrypty
Go to the top of the page
+Quote Post
-Guest-
post
Post #6





Goście







no wlasnie i tutaj chyba byl problem... podstawowy blad logiki
z kodu wynikalo:

jesli zmienna nie jest pusta lub jakas inna nie jest pusta... (czyli wystarczylo zeby jedna byla wypelniona zeby wysylal... a jako ze jedno pole bylo select to zawsze bylo wypelnione) - wystarczyo zmienic w warunkach "||" na "&&" smile.gif

w kazdym razie dziala - dzieki za pomoc
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: 20.08.2025 - 08:42