amad89 Napisano Kwiecień 15, 2019 Zgłoś Udostępnij Napisano Kwiecień 15, 2019 Cześć mam pytanie czy wie ktoś dlaczego napisany skrypt posługujący wysyłanie wiadomości email nie działa. Po naciśnięciu akcji wysyłania formularz, pojawia się biała strona. <?php //filtruje dane użytkownika $name = htmlspecialchars(trim($_POST['name'])); $email = htmlspecialchars(trim($_POST['email'])); $message = htmlspecialchars(trim($_POST['message'])); $send = $_POST['send']; //mail na który będa wysyłane wiadomości $odbiorca = "arekmadera@gmail.com"; //nagłówki $header = "Content-type: text/html; charset=utf-8\r\nFrom: $email"; //Sprawdzam czy istnieje ciastko, jeżeli tak wyświetlam komunikat if (isset($_COOKIE['send'])) $error ='Odczekaj '.($_COOKIE['send']-time()).' sekund przed wysłaniem kolejnej wiadomości'; if ($send && !isset($_COOKIE['send'])) { //Sprawdzam nick if (empty($imie)) { $error = "Nie wypełniłeś pola <strong>Nick !</strong><br/>"; } elseif (strlen($imie) > 20) { $error .="Za długi nick - max. 20 znaków <br/>";} //Sprawdzam mail if (empty($email)) { $error .= "Nie wypełniłeś pola <strong>E-mail !</strong><br/>"; } elseif (strlen($email) > 30) { $error .="Za długi e-mail - max. 30 znaków <br/>";} elseif (preg_match('/^[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\@[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ0-9\-\_\.]+\.[a-z]{2,4}$/',$email) == false) { $error .= "Niepoprawny adres E-mail! <br/>"; } //Sprawdzam wiadomosc if (empty($message)) { $error .= "Nie wypełniłeś pola <strong>Wiadomość !</strong><br/>"; } elseif (strlen($message) > 400) { $error .="Za długa wiadomość - max. 400 znaków <br/>";} //Sprawdzam czy są błędy i wysyłam wiadomość if (empty($error)) { $list = "Przysłał - $imie ($email) <br/> Treść wiadomości - $message"; if (mail($odbiorca, $temat, $list, $header)) { $error .= "Twoja wiadomość została wysłana"; setcookie("send", time()+60, time()+60); } else { $error .= "Wystąpił błąd podczas wysyłania wiadomości, spróbuj później.";} } } ?> dodam też kod html <form action="kontakt.php" method="post"> <input type="text" name="name" placeholder="Imię i nazwisko" required> <input type="email" name="email" placeholder="Twój email" required> <textarea name="message" placeholder="Napisz tu wiadomość" required></textarea> <input type="submit" name="send" value="Wyślij formularz"> </form> Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Bartosz Wójcik Napisano Kwiecień 15, 2019 Zgłoś Udostępnij Napisano Kwiecień 15, 2019 Bo twój kod de facto nic nie wyświetla, tylko ustawia zmienną $error. Dodaj sobie echo $error; żeby coś wyświetlić. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.