Skocz do zawartości

Dlaczego nie wysyła wiadomości


amad89

Recommended Posts

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>

 

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...