Skocz do zawartości

Recommended Posts

Napisano

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>

 

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...