Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Wysyłanie maila przez formularz na stronie
Forum PHP.pl > Forum > Przedszkole
nooblike
Dzień dobry wszystkim!

Prowadzę mały serwis elektroniczny, naprawiam tylko hardware a w tematach softu/programowania jestem zwyczajnym leszczem i laikiem. Postawiłem sobie małą stronkę, mam tam tylko jakiś cennik i ewentualnie kontakt. No i skleciłem w PHP na podstawie tutoriali z neta formularz do kontaktu przez maila, który niby działa, ale jednak jest z nim problem bo nie wysyła wszystkich parametrów - głupota straszna ale kompletnie nie wiem o co w tym chodzi i szczerze mówiąc, ja nie mogę spać drodzy koledzy! Wklejam kod i piszę co jest grane:


  1. <aside id="sidebar">
  2. <div class="dark">
  3. <h3>Napisz do nas</h3>
  4. <form class="quote" action="contactform.php" method="post">
  5. <div>
  6. <label>Imię i nazwisko</label><br>
  7. <input type="text" name="name" placeholder="Imię i nazwisko">
  8. </div>
  9. <div>
  10. <label>Telefon</label><br>
  11. <input type="tel" name="telefon" placeholder="Telefon">
  12. </div>
  13. <div>
  14. <label>E-mail</label><br>
  15. <input type="email" name="mail" placeholder="E-mail">
  16. <div>
  17. <label>Wiadomość</label><br>
  18. <textarea name="message" placeholder="Wiadomość" rows="15"></textarea>
  19. </div>
  20. <button type="submit" name="submit" class="button_1">Send</button>
  21. </form>
  22. </div>
  23. </aside>
  24. </div>



  1. <?php
  2. if (isset($_POST['submit'])) {
  3.  
  4. $admin_email = "adres@email.pl";
  5. $mail = $_POST['mail'];
  6. $telefon = $_POST['telefon'];
  7. $name = $_POST['name'];
  8. $message = $_POST['message'];
  9.  
  10. mail($admin_email, $name, $mail, $message, $telefon);
  11.  
  12. header("refresh:0.1;url=index.html");
  13.  
  14.  
  15. $msg = "Wiadomość wysłana. Dziękujemy. Wkrótce się odezwiemy.";
  16. echo "<script type='text/javascript'>alert('$msg');</script>";
  17.  
  18.  
  19. }
  20.  
  21. ?>


Po kliknięciu guzika SEND wysyła wszystko oprócz telefonu. W mail() mam 5 parametrów: pierwszy $admin_email z mailem serwisowym - działa jak trzeba, mail dochodzi na podany adres. Również widzę kto przesłał wiadomość [pole Imię i nazwisko $name], widzę treść wiadomości $message, $mail czyli mail nadawcy mi się wyświetla zaraz pod treścią wiadomości natomiast brakuje telefonu. $telefon po prostu nie zostaje przesłane i ja już siwych włosów dostałem od tego. Nie jest to nic poważnego ale mimo wszystko jestem ciekawy. Po wysłaniu formularza echo pięknie podaje komunikat o "wysłanej wiadomości" i odświeża stronę przekierowując do index.html, czyli głównej. Po stronie serwera interpreter PHP w wersji 7.3, wszystko standardowo ustawione - nic nie ruszałem. Hosting przez home.pl.

Bardzo bym prosił o jakieś sugestie, z góry dzięki i pozdrawiam!
dublinka
F. Mail() ma zle argumenty.
Do calego message musisz dodac to co chcesz czyli w tym telefon.

  1. $telefon '1233455555';
  2. $email_to = 'email@asd.pl';
  3. $tytul = 'tytul emaila';
  4. $wiadomosc = 'jakas wiadomosc z telefonem: ';
  5. $wiadomosc .= $telefon;
  6. mail($email_to, $tytul, $wiadomosc,$naglowki);


To nie jest tak ze dodasz sobie byle jak danych do tej funkcji i gra.
pierwszy jest email do kogo,
Drugi arg to tytyl maila
Trzeci to body emaila
Czwarty to naglowki opcjonalne nie sa wymagane jesli to bedzie plain tekst. Mozesz rowniez ustalic odbiorcow w kopii BCC

https://www.php.net/manual/en/function.mail.php
nooblike
Bardzo dziękuję za podpowiedź! Posiedziałem chwilę nad tym i już rozumiem gdzie zawaliłem sprawę. Teraz kumam o co chodzi z tymi parametrami. Takie coś wyklikałem w kodzie i działa tak jak chciałem:

  1.  
  2. $message = 'Treść: ' . $_POST['message'] . "\r\n\r\n";
  3.  
  4. $message .= 'Tel. kontaktowy: ' . $telefon . "\r\n\r\n";
  5. $message .= 'Mail: ' . $mail . "\r\n";
  6.  
  7. mail($admin_email, $name, $message);
  8.  


Dzięki, miłego wieczoru!
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-2024 Invision Power Services, Inc.