Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Formularz kontaktowy - problem


MCSH

Rekomendowane odpowiedzi

Opublikowano

Mianowicie po wysłaniu meila wyskakuje komunikat na stronie :
 

http://scr.hu/31o7/h3d20

 

 

Kod skryptu meil:

 

<?php
//filtruje dane użytkownika
$imie = htmlspecialchars(trim($_POST['imie']));
$mail = htmlspecialchars(trim($_POST['mail']));
$temat =  htmlspecialchars(trim($_POST['temat']));
$wiadomosc = htmlspecialchars(trim($_POST['wiadomosc']));
$send = $_POST['send'];
//mail na który będa wysyłane wiadomości
$odbiorca = "[email protected]<script data-cfhash='f9e31' type="text/javascript">
/*  */</script>";
//nagłówki
$header = "Content-type: text/html; charset=utf-8\r\nFrom: $mail";

//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($mail))
        { $error .= "Nie wypełniłeś pola <strong>E-mail !</strong><br/>"; }
    elseif (strlen($mail) > 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}$/',$mail) == false)
        { $error .= "Niepoprawny adres E-mail! <br/>"; }
         
    //Sprawdzam temat
    if (empty($temat))
        { $error .= "Nie wypełniłeś pola <strong>Temat !</strong><br/>"; }
    elseif (strlen($temat) > 120)
        { $error .="Za długi temat - max. 120 znaków <br/>";}
         
    //Sprawdzam wiadomosc
    if (empty($wiadomosc))
        { $error .= "Nie wypełniłeś pola <strong>Wiadomość !</strong><br/>"; }
    elseif (strlen($wiadomosc) > 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 ($mail) <br/> Treść wiadomości - $wiadomosc";
         
        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.";}   
        }
    }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>       
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." />
    <meta name="description" content="Opis strony" />
     
</head>
<body>
<form action="" method="post">
    <fieldset>
    <legend>Formularz kontaktowy</legend>
        <!-- Komunikat -->
        <?php echo $error; ?>
        <label for="imie">Imię/nick:</label>
        <input type="text" id="imie" name="imie"/></div>
                     
        <label for="mail">Twój e-mail:</label>
        <input type="text" id="mail" name="mail"/>
                     
        <label for="temat">Temat: </label>
        <input type="text" id="temat" name="temat"/>
                     
        <label for="wiadomosc">Wiadomość:</label>
        <textarea id="wiadomosc" name="wiadomosc" cols="40" rows="10"></textarea>
                     
        <input type="submit" value="Wyślij" id="send" name="send" />
    </fieldset>
</form>
</body>
</html> 

I co można jeszcze zrobić z wyglądem ? chodzi zeby był na środku strony :D tabela jedna pod drugą żeby to jakoś wyglądało :D

 

Opublikowano

Po pierwsze ustaw np. przez notepad++ kodowanie na UTF-8 bez BOM.

Po drugie, setcookie(); jak i session_start() (o ile masz), umieszczamy na samej górze skryptu, dodaj ob_start(); na początku skryptu i na końcu ob_end_flush();

 

Wygląd:

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="pl" lang="pl">
<head>       
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." />
    <meta name="description" content="Opis strony" />
    <style>
fieldset
{
text-align: center;
}
</style>
</head>
<body>
<form action="" method="post">
    <fieldset id="formularz">
    <legend>Formularz kontaktowy</legend>
        <!-- Komunikat -->
        <?php echo $error; ?>
        <label for="imie">Imię/nick:</label><br>
        <input type="text" id="imie" name="imie"/></div><br>
                     
        <label for="mail">Twój e-mail:</label><br>
        <input type="text" id="mail" name="mail"/><br>
                     
        <label for="temat">Temat: </label><br>
        <input type="text" id="temat" name="temat"/><br>
                     
        <label for="wiadomosc">Wiadomość:</label><br>
        <textarea id="wiadomosc" name="wiadomosc" cols="40" rows="10"></textarea><br>
                     
        <input type="submit" value="Wyślij" id="send" name="send" /><br>
    </fieldset>
</form>
</body>
</html> 

 

 

 

Dodatkowa pomoc: http://phpedia.pl/wiki/Cannot_add_header_information_-_headers_already_sent

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista


"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer


 


Potrzebujesz czegoś? Oznacz mnie @Salur

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...