• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Panel Kontaktowy PHP

Object Storage Arubacloud
–1 głos
282 wizyt
pytanie zadane 21 lutego 2016 w PHP przez Alexandere Użytkownik (540 p.)

Cześć, mam taki oto panel kontaktowy:

 

 [code]
<?php
ob_start();


//filtruje dane użytkownika
$imie = htmlspecialchars(trim($_POST['imie']));
$temat =  htmlspecialchars(trim($_POST['temat']));
$mail = htmlspecialchars(trim($_POST['mail']));
$wiadomosc = htmlspecialchars(trim($_POST['wiadomosc']));
$send = $_POST['send'];
//mail na który będa wysyłane wiadomości
$odbiorca = "signweb@o2.pl";
//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>Imie!</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) > 500)
        { $error .="Za długa wiadomość - max. 500 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";
         }
        else
            { 
		$error .= "Wystąpił błąd podczas wysyłania wiadomości, spróbuj później.";
		}   
        }
    }
	
	
ob_end_flush();
?>

[/code]

 

No i maila wysyła, ale żadnego powiadomienia nie czyli:

 

"Widomość została wysłana"

2 odpowiedzi

0 głosów
odpowiedź 21 lutego 2016 przez MichuDev Pasjonat (20,300 p.)

Jeżeli używasz localhost'a to nie możesz wysyłać maili, musisz mieć hosting i domene lub użyć biblioteki PHPMailer więcej tutaj: https://github.com/PHPMailer/PHPMailer

komentarz 21 lutego 2016 przez Alexandere Użytkownik (540 p.)
Mam hosting i domene, tak jak mówilem - Mail sie wysyła, ale nie pokazuje sie pod formularzem, że wyslano wiadomosc.
komentarz 21 lutego 2016 przez efiku Szeryf (75,160 p.)
Albo coś nowszego ;) http://swiftmailer.org/
–1 głos
odpowiedź 21 lutego 2016 przez Alexandere Użytkownik (540 p.)

Okay, naprawiłem, error się wyświetla, ale wyświetla się on na samym dole strony.

 

Po dodaniu


 

<?php

         echo $error;

?>

w inne miejsce, w ogole się nie wyświetla..

aby działało musi być tak
 

   $error .= "Powodzenie. Dziękuje za wiadomość: <b>$imie</b>.";
		 echo $error;

 

ale tak jak mowilem, jest wtedy na samym dole strony :/

komentarz 21 lutego 2016 przez Radekoslaw123 Gaduła (3,080 p.)
A gdzie zagnieździłeś kod? użyłeś include() lub podobnego podpięcia? Jeśli tak to wsadź ten kod <?php?> tam gdzie ma być wiadomość, liczę że pomogłem :)

Podobne pytania

0 głosów
1 odpowiedź 140 wizyt
pytanie zadane 25 stycznia 2018 w PHP przez Piotr Jarema Użytkownik (970 p.)
0 głosów
1 odpowiedź 108 wizyt
pytanie zadane 13 maja 2016 w PHP przez Headhunter Gaduła (4,450 p.)
0 głosów
1 odpowiedź 517 wizyt
pytanie zadane 23 lutego 2016 w PHP przez Kubala94 Początkujący (360 p.)

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...