Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wywołanie akcji w danym miejscu na stronie
Forum PHP.pl > Forum > Przedszkole
gregi1
Robię formularz zapisu na newsleter i tutaj pojawia sie problem otóż:

Mam w jednym pliku funkcję wyświetlającą formularz i wyświetla się on prawidłowo w pliku index.php.

Natomiast w drugim pliku mam 3 if'y sprawdzajace poprawności adresu i jak zrobić aby po kliknięciu w przycisk tylko w tym div'ie w ktorym jest formularz wyświetlił się komunikat o błędzie albo o poprawnym dodaniu.

Plik funkcje.php:

  1. function newsletter(){
  2. echo '<form action=" " method="post">';
  3. echo '<div id="newsletter"><input class="add" type="text" name="email" maxlength="200" />';
  4.  
  5. echo '<p><input type="radio" name="newletter_wybierz" value="add" checked="checked" /> Zapis |
  6. <input type="radio" name="newletter_wybierz" value="delete" /> Rezygnacja</p>';
  7. echo '<input type="submit" value="Potwierdź" />
  8.  
  9. </form><br /></div>';


Plik sprawdz.php ten sprawdzajacy poprawonosc:

  1. if (!isset($_POST['email'])){
  2. echo 'Podaj adres e-mail';
  3. }
  4.  
  5.  
  6. $normal = "^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$";
  7. if (!eregi($normal, $_POST['email'])) {
  8. echo 'Niepoprawny adres e-mail';
  9. }
  10.  
  11.  
  12. $mail = $_POST['email'];
  13.  
  14.  
  15. if ($_POST['newletter_wybierz']=='add')
  16. $akcja = 'add';
  17. else if ($_POST['newletter_wybierz']=='delete')
  18. $akcja = 'delete';
  19. else{
  20. echo 'Wystąpił błąd, <br /> spróbuj jeszcze raz';
  21.  
  22. }



markonix
  1. function validate_email($email,$strong = 'true') {
  2. $email = filter_var($email, FILTER_VALIDATE_EMAIL);
  3. if ($strong == 'true') {
  4. list($username,$domain)=split('@',$email);
  5. if(!checkdnsrr($domain,'MX')) {
  6. return false;
  7. }
  8. else {
  9. return true;
  10. }
  11. }
  12. if ($email) {
  13. return true;
  14. }
  15. }


Proponuje Ci moją, krótką funkcje sprawdzającą składnie adresu e-mail + istnienie domeny.
Twoja nie uwzględnia zmian i używa przestarzałych funkcji php.

Co do pytania to domyślam się, że nie stosujesz szablonów więc po prostu skrypt wykonaj na stronie gdzie jest ten formularz (include, za pomocą funkcji) i tam wyświetlaj ewentualne błędy. Możesz je zapisać do tablicy np. $errors i wyświetlić foreach 'em nad formularzem.
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.