Witam. Uczę się PHP robiąc różne strony formularze itp. Napotkałem taki problem, który nie mogę rozwiązać. Mam formularz i kod php do wysyłania wiadomości email:
<?php
...
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
elseif (!empty($_POST['typ']) && !empty($_POST['typ2']) && !empty($_POST['typ3']) && !empty($_POST['powierzchnia']) && !empty($_POST['pokoje']) && !empty($_POST['miejscowosc']) && !empty($_POST['dzielnica']) && !empty($_POST['ulica']) && !empty($_POST['typ4']) && !empty($_POST['rok']) && !empty($_POST['cena']) && !empty($_POST['opis']) ) { // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = \"Typ: $_POST[typ]\nTyp: $_POST[typ2]\nRodzaj: $_POST[typ3]\nPowierzchnia: $_POST[powierzchnia]\nIlość pokoi: $_POST[pokoje]\nMiejscowość: $_POST[miejscowosc]\nDzielnica: $_POST[dzielnica]\nUlica: $_POST[ulica]\nOpis:\n$_POST[opis]\";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = \"From: $_POST[imie] <$_POST[email]>\";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail(\"dsasda@gmail.com\",\"Wiadomosc ze strony WWW\",\"$message\",\"$tresc\", \"$header\") or
die('Nie udało się wysłać wiadomości'); // wyświetlenie komunikatu w przypadku powodzenia
echo \"Wiadomość została wysłana poprawnie!
\";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo \"Wypełnij wszystkie pola formularza!
\";
...
?>
I tutaj pojawia się problem, chciałem aby wysyłało mi załącznik do tego maila. Na pewnej stronce znalazłem taki kod dzięki któremu jest możliwe wysyłanie załącznika, lecz odbywa sie to poprzez wysyłanie nowej wiadomości, a ja chciałbym na tej samej co mam kod powyższy. Czy ktoś może mi powiedzieć jak połączyć poniższy kod z tym powyższym żeby działało ? Próbowałem już na kilka sposobów, lecz bez rezultatów. Czy ktoś może mi napisać ten kod ? Lub chciarz naprowadzić, bo nie do końca go rouzmiem ? Wierzę, że znajdzie się ktoś na tym forum kto zechce mi pomóc. Będę wdzięczny za odpowiedź. Pozdrawiam. Oto kod do wysyłania maila z załącznikiem:
<?php
//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST[\"wyslij\"]==1)
{
// dane o odbiorcy, nadawcy
$odbiorca=\"nazwa-twojego-maila@domena.pl\";
$tytul=\"Mail z zalaczniekiem\";
$nadawca = \"Mail ze strony\";
$nadawca_mail=\"mail-ze-strony@domena.pl\";
// treść listu
$tresclistu = \"tutaj piszesz całą treść maila\";
// definicja nagłówków
$naglowki = \"From: $nadawca <$nadawca_mail>\n\";
$naglowki .= \"MIME-Version: 1.0\n\";
$naglowki .= \"Content-Type: multipart/mixed;\n\";
$naglowki .= \"\tboundary=\"___$znacznik==\"\";
// nagłówki listu
$tresc=\"--___$znacznik==\n\";
$tresc .=\"Content-Type: text/plain; charset=\"iso-8859-2\"\n\";
$tresc .=\"Content-Transfer-Encoding: 8bit\n\";
$tresc .=\"\n$tresclistu\n\";
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES[\"plik1\"][\"tmp_name\"];
$plik_nazwa_oryginalna = $_FILES[\"plik1\"][\"name\"];
$plik_wielkosc = $_FILES[\"plik1\"][\"size\"];
{
$tresc .=\"--___$znacznik==\n\";
$tresc .=\"Content-Type: image/gif\n\";
$tresc .=\"Content-Disposition: attachment;\n\";
$tresc .=\" filename=\"$plik_nazwa_oryginalna\"\n\";
$tresc .=\"Content-Transfer-Encoding: base64\n\n\";
$f = fopen($plik_nazwa_tmp,\"rb\"); $tresc .=\"--___$znacznik==--\n\";
}
// wysłanie listu
if (mail($odbiorca,$tytul,$tresc,$naglowki)) {
print \"E-mail z załącznikiem został wysłany poprawnie.\"; }
else
{
print \"E-mail NIE został wysłany poprawnie.
Prosimy o [url="%5C%22java script:history.back%28%29;%5C%22"]powrót[/url] i wysłanie e-maila ponownie.\";
}
}
?>
Ten post edytował marekpb 25.05.2009, 08:32:35