Autor |
Wiadomość
|
Martin |
Wysłany: 19 Cze 2005, 23:57 Temat postu: Jak dane z formularza wyslać jako załącznik *.CSV |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Postanowiłem usiąść i z ciekawości napisać kod, który
dane z formularza wtawia do pliku CVS
[format zgodny z EXCEL, otwiera się w excelu]
i wysyła na wskazany adres mailowy jako załącznik
Mamy formularz:
Kod: | <FORM NAME="wysylanie" METHOD="post" ACTION="mail.php" >
Imię Nazwisko:<br>
<INPUT TYPE="text" NAME="user" >
<br>
Twój telefon:<br>
<INPUT TYPE="text" NAME="telefon" >
<br>
Twój adres e-mail:<br>
<INPUT TYPE="text" NAME="email" >
<br>
Twój problem:<br>
<textarea name="problem" cols=30 rows=5 ></textarea>
<br><br>
<INPUT TYPE="SUBMIT" VALUE="wyślij" >
</form> |
Dane z formularza przesyłane są do pliku mail.php:
PHP: |
<?php
extract( $_POST );
$dane = join(';', array($_POST['user'],
$_POST['telefon'],
$_POST['email'],
$_POST['problem'])) . "\n";
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));
// dane o odbiorcy, nadawcy i załączniku
$odbiorca = "adres@mailowy.pl";
$tytul = "Mail z danymi z formularza";
$nadawca_imie = $_POST['user'];
$nadawca_email = $_POST['email'];
$plik = "formularz.csv";
$typpliku = "text/csv";
$nazwapliku = "formularz.csv";
// treść listu
$tresclistu = "Wpisane zostały dane z formularza masz w załączniku";
// definicja nagłówków
$naglowki = "From: $nadawca_imie <$nadawca_email>\r\n";
$naglowki .= "MIME-Version: 1.0\r\n";
$naglowki .= "Content-Type: multipart/mixed;\r\n";
$naglowki .= "\tboundary=\"___$znacznik==\"";
// nagłówki listu
$tresc="--___$znacznik==\r\n";
$tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\r\n";
$tresc .="Content-Transfer-Encoding: 8bit\r\n";
$tresc .="$tresclistu\r\n";
// nagłówki i obsługa załącznika
$tresc .="--___$znacznik==\r\n";
$tresc .="Content-Type: $typpliku\r\n";
$tresc .="Content-Disposition: attachment;\r\n";
$tresc .=" filename=\"$nazwapliku\"\r\n";
$tresc .="Content-Transfer-Encoding: base64\r\n\r\n";
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\r\n";
// wysłanie listu
if (mail($odbiorca,$tytul,$tresc,$naglowki))
{
echo "mail z plikiem został wysłany na adres $odbiorca";
}
else
{
echo "mail NIE został wysłany";
}
?>
|
Mam nadzieję, że kod przyda się też innym
Kod przetestowany na serwerze i działa wyśmienicie _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami
Ostatnio zmieniony przez Martin dnia 07 Kwi 2006, 14:33, w całości zmieniany 4 razy |
|
Powrót do góry |
|
|
KCS |
Wysłany: Temat postu: Reklama w KCS |
|
|
|
|
Powrót do góry |
|
|
PIKSAR |
Wysłany: 19 Sie 2005, 23:27 Temat postu: |
|
|
Bywalec
Dołączył: 19 Sie 2005 Posty: 148
Skąd: Cz?stochowa
|
Mi napewno się przyda, zapożycze sobie go nie będe musiał wymyslac swojego.
Oczywiście to malutki zarcik, że nie bede musiał pisać swojego bo i tak tego troszke poprzerabiam no i zaoszczędze dużo cennego czasu. _________________ Pozdrawiam |
|
Powrót do góry |
|
|
Martin |
Wysłany: 20 Sie 2005, 07:55 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Po to udostępnane są skrypty innym, aby zaoszczędzić innym czasu - a modyfikacja już we własnym zakresie przy skryptach jak najbardziej wskazana
Jak coś usprawnisz to daj znać _________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
PIKSAR |
Wysłany: 20 Sie 2005, 08:08 Temat postu: |
|
|
Bywalec
Dołączył: 19 Sie 2005 Posty: 148
Skąd: Cz?stochowa
|
Nie ma problemu _________________ Pozdrawiam |
|
Powrót do góry |
|
|
Martin |
Wysłany: 20 Sie 2005, 08:11 Temat postu: |
|
|
KCS_Admin
Dołączył: 17 Cze 2005 Posty: 5566
Skąd: Piaseczno
|
Cieszę się, że na forum pojawił się również ktoś z podobnymi zainteresowaniami i przyczyni się do ruchu w tej części forum
_________________ Martin
- Prywatny Katalog Stron
- pizzeria La Nostra zaprasza
- e-Piaseczno i okolice, to najlepsze miejsce dla e-mieszkanca powiatu piaseczynskiego
- najlepsze prywatne przedszkole w Piasecznie
- moj prywatny fotoblog ze zdj?ciami |
|
Powrót do góry |
|
|
Red-Med |
Wysłany: 07 Kwi 2006, 01:04 Temat postu: pomocy! |
|
|
Nowicjusz
Dołączył: 07 Kwi 2006 Posty: 1
|
Witam
Nie znam sie na tym za bardzo ale czy mógłbyś tak zmodyfikowac ten skrypt zeby nie wysyłać pliku, tylko pozostawić go na serwerze i żeby za każdym razem gdy ktoś wypełni formularz dopisywał sie kolejny wiersz tylko z samymi danymi z formularza. z góry dziekuje za pomoc. |
|
Powrót do góry |
|
|
Said |
Wysłany: 07 Kwi 2006, 09:33 Temat postu: |
|
|
Bywalec
Dołączył: 04 Kwi 2006 Posty: 160
|
moim zdaniem wykazales zbytnia ufnoscia jesli chodzi o poprawnosc danych ktore otrzymales z formularza - przydaloby sie dokonac kilku testow,
sprawdzic czy email to email oraz zgodnosc reszty danych ktore z form dostales - nie wspomne ze trzeba by sprawdzic czy wogole cos dostales
----------------------------
i jeszcze jedno pytanie skad masz zmienna(e) $user, $email... itp.?
te zmienne trzeba najpierw zadeklarowac a pozniej ew przypisac wartosci
z tablicy $_POST[] _________________ Graj online w gry flash z serii super mario. Dobra zabawa gwarantowana! |
|
Powrót do góry |
|
|
|