Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z formularzem php i walidacja ?
Forum PHP.pl > Forum > Przedszkole
darrkie
witam,
otóz zaczynam przygode z php i mam napisany formularz jest on umieszczony w pliku kontakt.html jest do niego plik form.php - zrobiłem ze pojawiaja sie informacje o wysłaniu formularza na nowej stronie wynikowej która jest kopią strony kontakt. (formularz juz na niej nie jest widoczny)
maile dochodza bez problemu na skrzynke problemem jest walidacja za kazdym razem po kliknieciu wyslij idzie niewazne czy jest jakas tresc czy nie czy wypełniony jest formularz czy nie i to samo dotyczy adresu e-mail:((((. czy ktos mógłby pomóc i zobaczyc ten kod gdzie jest bład -interesuje mnie aby informacje o błedach pojawiały sie na tej samej stronie co formularz i informacja o wysłąniu formularza tez na niej- oto kod:

kontakt.html:
Kod
<form action="form.php" method="post" id="zapytanie"><BR><font color="656551"><BR>
<BR>
<BR><BR><BR><h4 id="respond"><img src="images/mail.gif"/> <i>Wy&para;lij zapytanie: </i></h4><BR></font><BR><BR>
<BR>
<BR><p><input id="author" tabindex="1" size="30" name="nazwa"> <label for="nazwa">Nazwa <span class="required">&nbsp;(Wymagane) </span></label></p><BR><BR><p><input id="email" tabindex="2" size="30" name="email"> <label for="email">E - mail <span class="required">(Wymagane) </span></label></p><BR><BR><p> <input id="url" tabindex="3" size="30" name="url"> <label for="url">Www <span class="required">&nbsp;&nbsp;(Opcjonalnie) </span></label></p><BR></p><BR><BR><p><textarea id="zapytanie" tabindex="4" name="zapytanie" rows="10" cols="50">Tutaj wpisz tre&para;ć zapytania...</textarea><BR></p><BR><BR><p><input id="submit" tabindex="5" value="Wy&para;lij" name="submit" type="submit"> <input value="24" name="zapytanie_post_ID" type="hidden"><BR></p><BR><BR></form>


form.php:
  1. <?php
  2. if (count($_POST))
  3. {
  4.  
  5. $email = 'ja@mójmail.pl';
  6. $subject = 'Temat'; 
  7. $message = 'Dziękujemy za wysłanie formularza.'; 
  8. $error = 'Wystąpił błąd podczas wysyłania formularza';
  9. $charset = 'iso-8859-2'; 
  10.  
  11.  
  12. $head =
  13. "MIME-Version: 1.0r\n" .
  14. "Content-Type: text/plain; charset=$charsetr\n" .
  15. "Content-Transfer-Encoding: 8bit";
  16. $body = '';
  17. foreach ($_POST as $name => $value)
  18. {
  19. if (is_array($value))
  20. {
  21. for ($i = 0; $i < count($value); $i++)
  22. {
  23. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . 
  24.  
  25. "r\n";
  26. }
  27. }
  28. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "r\n";
  29. }
  30. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  31. }
  32. else
  33. {
  34. ?>
  35. <form action="?" method="post">
  36.  
  37.  
  38. <?php
  39. }
  40. ?>
b_chmura
1. otaguj swój kod
2. poczytaj o empty() oraz isset()
marcio
Ogolnie to empty i isset maja troche inne dzialania jesli chcesz sprawdzic czy pola nie sa puste to za pomoca empty jesli chcesz zobaczyc czy zmienna zostala wyslana to isset obojetnie czy zmienna ma jakas wartosc lub jej nie ma(czyli jest pusta-0) a w twoim wypadku to chyba chodzi ci o empty
b_chmura
Cytat(marcio @ 23.12.2007, 19:02:28 ) *
Ogolnie to empty i isset maja troche inne dzialania jesli chcesz sprawdzic czy pola nie sa puste to za pomoca empty jesli chcesz zobaczyc czy zmienna zostala wyslana to isset obojetnie czy zmienna ma jakas wartosc lub jej nie ma(czyli jest pusta-0) a w twoim wypadku to chyba chodzi ci o empty


Marcio Ty też poczytaj o empty i isset i o ich zaprzeczaniu ( ! )
marcio
A niby co zle napisalem zapomnialem odroznic ze !empty sparwdza czy nie jest puste a empty czy puste a o isset tak samo
drPayton
Popraw proszę temat na zgodny z zasadami forum przedszkole oraz wstaw kod pomiędzy odpowiednie znaczniki bbcode, w przeciwnym wypadku wątek zostanie zamknięty.

Pozdrawiam!
darrkie
poprawione mam nadzieje ze dobrze, panowie wiec co i jak z tym kodem bo kazdy z was mówi coś innego?
pozdr.
marcio
Jak narazie b_chmura nie napisal niczego co by dawalo sprzecznosc do mojego posta wiec w czym problem poczytac o tych 2 funckjach uzyc je,a jak nie bedzie dzialac to pokaz kod wtedy pomozemy
przykladowe uzycie empty(!)
  1. <?php
  2. if(empty($zmienna1) && empty($zmienna2)) {
  3. echo('prosze wypelnic wszystkie pola');
  4. }
  5. //lub
  6.  
  7. if(!empty($zmienna1) && !empty($zmienna2)) {
  8. //zapisujesz do bazy albo do pliku lub robisz co chcesz
  9. }
  10. ?>


P.S do kodow php jest odpowiedni tag nie code tylko php
b_chmura
link
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.