Jump to content
amad89

Dlaczego nie wysyła wiadomości

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>

 

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.


×
×
  • Create New...