Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Problem z walidacja formularza
MatBlo
post 2.06.2010, 09:53:25
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.05.2010

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


Zacznę od początku. Niedawno rozpocząłem swoja przygodę z PHP i język sprawa mi sporo problemu. Jestem w trakcje tworzenia strony www z elementami PHP. Struktura strony wygląda następująco menu poziome wraz z grafiką znajdującą się po prawej stronie jest statyczne natomiast treść znajdująca się po lewej dynamiczna. Problem ten rozwiązałem za pomocą instrukcji include_once(), jednak nie na tym problem polega jedna z podstron kontakt.php posiada następujący kod:
  1.  
  2. <h3>Formularz kontaktowy:</h3>
  3.  
  4. <form method="post" action="index.php?id=8">
  5. <div class="tabelaNazwa"><label for="firstname">Imię*:</label></div>
  6. <div class="tabelaTresc"><input type="text" id="firstname" name="firstname" style="width:290px;" /><br /></div>
  7. <div class="clear" style="height: 5px;"></div>
  8. <div class="tabelaNazwa"><label for="email">E-mail:</label></div>
  9. <div class="tabelaTresc"><input type="text" id="email" name="email" style="width:290px;" /><br /></div>
  10. <div class="clear" style="height: 5px;"></div>
  11. <div class="tabelaNazwa"><label for="phone">Telefon:</label></div>
  12. <div class="tabelaTresc"><input type="text" id="phone" name="phone" style="width:290px;" /><br /></div>
  13. <div class="clear" style="height: 5px;"></div>
  14. <div class="tabelaNazwa"><label for="theme">Temat*:</label></div>
  15. <div class="tabelaTresc"><input type="text" id="theme" name="theme" style="width:290px;" /><br /></div>
  16. <div class="clear" style="height: 5px;"></div>
  17. <div class="tabelaNazwa"><label for="other">Wiadomość:</label></div>
  18. <div class="tabelaTresc"><textarea id="other" name="other" rows="7" cols="50"></textarea><br /></div>
  19. <div class="clear" style="height: 10px;"></div>
  20. <div class="tabelaTresc"><input type="submit" value="Wyślij" name="Wyślij" /></div>
  21. </form>


natomiast skrypt odpowiedzialny za wysyłanie wygląda następująco:
  1. <?php
  2. $imie = $_POST['firstname'];
  3. $email = $_POST['email'];
  4. $tel = $_POST['phone'];
  5. $temat = $_POST['theme'];
  6. $wiadomosc = $_POST['other'];
  7. $to = '...@gmail.com';
  8. $subject = "$temat";
  9. $msg = "Imię: $imie\n" .
  10. "Telefon: $tel\n" .
  11. "Treść wiadomości: $wiadomosc";
  12. mail($to, $subject, $msg, 'From:'.$email);
  13. ?>
  14.  
  15. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  16. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  17. <head>
  18. <title>Salon Dom</title>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  20. <link rel="stylesheet" href="styl.css" type="text/css" />
  21.  
  22. </head>
  23.  
  24. <body>
  25.  
  26. <p>Dziękuję za przesłanie formularza</p>
  27.  
  28. </body>
  29. </html>


W takim wypadku formularz działa, wysyła maila odraz w miejscu formularza wyświetlany jest komunikat dziękujący za wysłanie maila. W momencie gry zamiast fragmentu napisanego w html użyć echo nie wyświetla mi się podziękowanie. I nie bardzo wiem dlaczego ;/ Chciałem również dokonać sprawdzenia dwóch pól imię i temat napisałem taki kawałek kodu:
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. $imie = $_POST['firstname'];
  4. $email = $_POST['email'];
  5. $tel = $_POST['phone'];
  6. $temat = $_POST['theme'];
  7. $wiadomosc = $_POST['other'];
  8. if(empty($imie) && empty($temat)) {
  9. echo'Nie podałeś imienia i tematu wiadomości.<br />';
  10. }
  11. if(empty($imie) && (!empty($temat))) {
  12. echo'Nie podałeś imienia.<br />';
  13. }
  14. if((!empty($imie)) && empty($temat)) {
  15. echo'Nie podałeś tematu.<br />';
  16. }
  17. if((!empty($imie)) && (empty($temat))) {
  18. $to = '...@gmail.com';
  19. $subject = "$temat";
  20. $msg = "Imię: $imie\n" .
  21. "Telefon: $tel\n" .
  22. "Treść wiadomości: $wiadomosc";
  23. mail($to, $subject, $msg, 'From:'.$email);
  24. echo 'Dziękuję za przesłanie formularza';
  25. }
  26. }
  27. ?>


po wrzuceniu tego kodu na serwer ani nie wyświetla się żaden komunikat anie mail nie zostaje wysłany. Tematy na formum przeglądałem jednak nie znalazłem odp na mój problem - być może źle szukałem .

Ten post edytował MatBlo 2.06.2010, 10:57:21
Go to the top of the page
+Quote Post

Posty w temacie
- MatBlo   [php]Problem z walidacja formularza   2.06.2010, 09:53:25
- - zend   [PHP] pobierz, plaintext //toif (isset($_P...   2.06.2010, 09:58:34
- - MatBlo   Wstawiłem formularz do body, if zamieniłem i pomog...   2.06.2010, 10:15:31
- - zend   [PHP] pobierz, plaintext $submit = true; if...   2.06.2010, 10:21:32
- - MatBlo   Coś mi nie wychodzi - muszę chyba być prowadzonym ...   2.06.2010, 10:45:31
- - zend   [PHP] pobierz, plaintext ini_set('display_erro...   2.06.2010, 10:54:58
- - MatBlo   Niestety nie ma żadnych zmian. Tak wyglądała cała ...   2.06.2010, 11:01:49
- - zend   Dorzuć do każdego warunku if warunek else z inną w...   2.06.2010, 11:11:55
- - Damiian   Powinno być ok.. [PHP] pobierz, plaintext <?ph...   2.06.2010, 11:26:28
- - MatBlo   Po drobnych przeróbkach działa [PHP] pobierz, pla...   2.06.2010, 12:01:17
- - gigzorr   Pewnie masz dwa pliki czyli formularz i action=...   2.06.2010, 12:08:06
- - Damiian   Tak jak kolega wyżej powiedział Stare action zamie...   2.06.2010, 12:17:51
- - MatBlo   Sprawa nie wygląda tak łatwo, a to dlatego że jeśl...   2.06.2010, 12:59:02
- - Damiian   Dlatego że pisujesz samo: [PHP] pobierz, plaintex...   2.06.2010, 13:12:38
- - MatBlo   Wkleiłem tak jak podaliście i nadal to samo.   2.06.2010, 16:20:16
- - bastard13   [PHP] pobierz, plaintext if($_POST){ ...   2.06.2010, 23:11:03
- - MatBlo   [HTML] pobierz, plaintext <h3> ...   6.07.2010, 09:44:33
- - gigzorr   marginesami to ustaw .   6.07.2010, 09:51:47
- - MatBlo   Możesz trochę rozwinąć swoją wypowiedź.   6.07.2010, 09:59:59
- - Ruio   Zrób coś alla to : [HTML] pobierz, plaintext ...   6.07.2010, 11:14:28
- - MatBlo   Nie o to mi chodzi - pytam jak za pomocą jakiś ins...   6.07.2010, 11:19:41
- - Ruio   Ustaw sobie do każdego inną zmienną np: [PHP] pob...   6.07.2010, 11:37:05
- - MatBlo   coś mi nie działa ;/ mam tak [HTML] pobierz, pla...   6.07.2010, 12:03:04
- - Ruio   Nie widzę błędu w tym co ci podałem ani w twoim. ...   6.07.2010, 12:11:52
- - MatBlo   Niestety nie pomogło to.   6.07.2010, 12:15:53
- - Ruio   Pokaż cały kod php który tyczy się tych ifów po po...   6.07.2010, 12:19:55
- - MatBlo   Najpierw chciałem sprawdzić z jednym błędem czy je...   6.07.2010, 12:24:53
- - Ruio   [PHP] pobierz, plaintext <?php if...   6.07.2010, 12:41:57
- - MatBlo   Wielkie dzięki (ofc za pomoc podziekowałem) nie w...   6.07.2010, 12:52:20
- - thek   Kolejność ma znaczenie. Przecież nie możesz wywoła...   6.07.2010, 13:03:56
- - MatBlo   Dzięki na pewno skorzystam.   6.07.2010, 13:35:38


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 Wersja Lo-Fi Aktualny czas: 17.06.2025 - 08:44