1. Forum używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. Czytaj więcej...

W TRAKCIE Problem z funkcją mail()

Dyskusja w 'WordPress, Joomla!, PHP, HTML, CSS' rozpoczęta przez użytkownika jaczylinieon, 12 Styczeń 2017.

  1. jaczylinieon

    jaczylinieon Nowy użytkownik

    Wiadomości:
    1
    Docenione treści:
    0
    Napisałem wyjątkowo prosty formularz kontaktowy i do niego jeszcze prostszy skrypt PHP .

    Zasadniczo problem jest taki - działa wszystko poza automatycznym przeniesieniem adresu email przy używaniu funkcji "odpowiedz do" w kliencie poczty.

    Przeczytałem wątki podobne na forum wypróbowałem podane tam rozwiązania nic nie pomaga:

    Skrypt wygląda tak :

    <?php



    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $phone = $_POST['phone'];
    $day = $_POST['day'];
    $houer = $_POST['houer'];
    $number = $_POST['number'];
    $mailname = $_POST['email'];

    $naglowek = "";
    $naglowek .= "Content-Type:text/plain;charset=utf-8";
    $naglowek .= "Return-Path: ".$email."\r\n";
    $naglowek .= "Reply-To: ".$email."\r\n";

    $dokogo = "l";

    $tytul = "Formularz kontaktowy ";

    $wiadomosc = "";
    $wiadomosc .= "Imie i nazwisko: " . $name . "\n";
    $wiadomosc .= "email: " . $email . "\n";
    $wiadomosc .= "Telefon: " . $phone . "\n";
    $wiadomosc .= "Dzien: " . $day . "\n";
    $wiadomosc .= "Godzina: " . $houer . "\n";
    $wiadomosc .= "Liczba osob: " . $number . "\n";
    $wiadomosc .= "Wiadomosc: " . $message . "\n";


    $sukces = mail($dokogo, $tytul, $wiadomosc, $naglowek);


    if ($sukces){
    print "<meta http-equiv=\"refresh\" content=\"0;URL=wyslane.html\">";
    }
    else{
    print "<meta http-equiv=\"refresh\" content=\"0;URL=blad.html\">";
    }
    ?>

    Eksperymentowałem z różnymi formami nagłówka:

    $from = "serwer1689327@serwer1689327.home.pl";
    $from2 = $_POST['email'];

    $naglowek = "";
    $naglowek .= "Content-Type:text/plain;charset=utf-8";
    $naglowek .= "From: $from\r\nReply-to: $from2";

    ----

    $naglowek .= = "From: $from\r\nReply-to: $email";

    i kilkoma jeszcze innymi z mizernym skutkiem. Co ciekawsze czasem to działało a po chwili bez zmian w skrypcie przestawało.

    Błagam o pomoc!!!!

    Z wyrazami i szacunkiem
    Maciek
     
  2. LorK

    LorK Przyjaciel forum Beta-tester

    Wiadomości:
    1 064
    Docenione treści:
    96
    nie rób tego tak. Powiedzmy, że dla testów jest to dopuszczalne ale nie rób tego na środowisku produkcyjnym.

    pierwszą linijkę wywal. W drugiej na końcu brakuje "\r\n". Zamień '.=' na '=';

    a to co to?
    Zamien to: '$dokogo = $email;'

    no ale wiesz, że pisze się 'hour'? ;)

    $sukces = mail($dokogo, $tytul, $wiadomosc, $naglowek);

    o matko! Nie robimy tego tak!
    Na początek zrób
    To co zrobiłeś na stronie wygląda fatalnie. Pojawia się jakiś komunikat na białej stronie po czym wgrywa się normalna strona... fuuuuj.

    tu masz raczej błąd - powinien być tylko jeden znak '='.


    powracając do tematu: próbowałeś zrobić tak jak jest w przykładzie 3 na stronie? http://php.net/manual/en/function.mail.php

    PS. taka wypasiona karczma a strona to chyba przez studentów robiona... fuj.
     
    Mariusz lubi to.
  3. Mariusz

    Mariusz pomoc.home.pl Moderator forum

    Wiadomości:
    3 087
    Docenione treści:
    302
    @jaczylinieon faktycznie zaprezentowany przykład formularza kontaktowego nie wygląda najlepiej. Sugerowałbym skorzystać z sugestii użytkownika @LorK lub znaleźć jakiś inny skrypt do formularza kontaktowego w Internecie. Pomożemy Ci go dostosować, aby poprawnie działał u nas w home.pl.
     

Poleć forum znajomym