Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Formularz PHP - nie chce przekierowania na nową stronę
Forum PHP.pl > Forum > Przedszkole
hubertsuder
Witam serdecznie. Jestem newbie bo dopiero dzisiaj zacząłem programować w phpie. Generalnie sytuacja wygląda w ten sposób, że zrobiłem formularz kontaktowy na swojej stronie i podpiąłem pod niego PHP. W Htmlu standardowo wygląda to tak:
  1. <form action="mail.php">
  2.  
  3. </form>


natomiast w php skrypcie:

  1. <?PHP
  2.  
  3.  
  4. $adresat = 'xxx'; // pod ten adres zostanie wysłana wiadomosc
  5.  
  6. @$imieinazwisko = "Imie i nazwisko: ".$_POST['imieinazwisko']."<br /><br />";
  7. @$firma = "Firma: ".$_POST['firma']."<br /><br />";
  8. @$email = "Kontakt: ".$_POST['email']."<br /><br />";
  9. @$budzet = "Budzet: ".$_POST['budzet']."<br /><br />";
  10. @$pytania = "Treść: ".$_POST['pytania']."<br /><br />";
  11.  
  12. $mailtresc = $imieinazwisko.$firma.$email.$budzet.$pytania;
  13.  
  14. $header = "From: \nContent-Type:".'text/html; charset=utf8'."\nContent-Transfer-Encoding: 8bit";
  15.  
  16. if (mail($adresat, 'zapytanie ze strony', $mailtresc, $header))
  17. echo '<script type="text/javascript"> function(){alert("Zgłoszenie zostało przyjęte. Odpiszemy na podany email najszybciej jak będzie to możliwe.} </script>';
  18. else
  19. echo '<script type="text/javascript"> function(){alert("Wystąpił błąd. Proszę spróbować później.")} </script>';
  20.  
  21. ?>


Formularz działa jak należy. Problem polega jednak na tym, że w momencie wciśniecią przycisku WYŚLIJ formularz jest wysyłany, a strona na która jest przeglądana przekierowana jest w miejsce docelowe skryptu localhost/www/mail.php, zamiast wysłać mail i wyświetlić komunikat. Czy mógłby mi ktoś rozsjaśnić sytuacje dlaczego tak się dzieje, a nie inaczej? szukałem dużo w necie, ale nie mogłem nic znaleźć na ten temat. Pozdrawiam
Turson
1. Nieokreśliłeś metody wysłania danych z formularza. Domyślnie wysyła przez GET.
2. Nie sprawdzasz czy formularz jest wysłany przed odebraniem danych.

  1. <script type="text/javascript"> function(){alert("Zgłoszenie zostało przyjęte. Odpiszemy na podany email najszybciej jak będzie to możliwe.} </script>

3. Też złe. Niepotrzebna funkcja, nie zamykasz alertu.

4. Mail się nie wysyła pewnie dlatego, że jest wysyłany z localhost
hubertsuder
wszystko działa poprawnie. Zależy mi tylko na tym, aby skrypt był wysyłany bez ładowania na strone mail.php.... także wszystko działa. Maila wysyła i przechodzi na mail.php. Chcę natomiast, żeby zostało na stronie głównej. Tylko w tym mam problem
Turson
To zmień z mail.php na stronę głowną?
hubertsuder
w mail.php są skrypty odpowiadające za wysłanie maila. Chce mieć każdy skrypt w osobnym pliku, żeby mieć posegregowane ładnie. Nie mówcie mi nawet, że tak się nie da ;D
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.