Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz na e-maila
Amistat
post 29.07.2005, 23:17:44
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.07.2005

Ostrzeżenie: (0%)
-----


Mam takie pytanko.
Musze zebrac pewne informacie od pracowników, chciałem zrobić formularz, umieścić go na stronie i zbierac informacie w postacji maili. Mam taki skrypt php:

Kod
<?
if(!empty($_POST['nazwisko'])
|| !empty($_POST['email'])
|| !empty($_POST['temat'])
|| !empty($_POST['wiadomosc'])
|| !empty($_POST['ala']))
{

// tworzymy krotkie nazwy zmiennych odbieranych z Flash
$_POST['nazwisko'] = $nazwisko;
$_POST['email'] = $email;
$_POST['temat'] = $temat;
$_POST['wiadomosc'] = $wiadomosc;
$_POST['ala'] = $ala;

// w zmiennej $to zapisujemy adres gdzie formularz mialby byc wysylny
$to = 'amistat@wp.pl';

//przetwarzamy dane formularza i wysylamy na wczesniej definiowany adres mail
$temat = stripslashes($temat);
$wiadomosc = stripslashes($wiadomosc);
$body = $wiadomosc;
$body .= "<---------------------->";
$body .= "Mail wyslany przez : ".$nazwisko." [".$email."] [".$ala."]";

//kodowanie wiadomosci na polskie znaki
$bodypl = iconv("UTF-8","ISO-8859-2",$body);

if(@mail($to, $temat, $bodypl))
{
// zaleznie od tego czy wyslanie maila powiodlo sie wysylamy odpowiednia odpowiedz do Flash
echo "odpowiedz=WYSLANIE FORMULARZA POWIODLO SIE...&";
} else {
echo "odpowiedz=WYSTAPIL BLAD PODCZAS WYSYLANIA MAIL!!!&";
}
}
?>


Nie będę ukrywał ze php to dla mnie czarna magia ale posiedziałem troszkę nad tym skryptem i metodą prób i błędów doszedłem jak on działa.

Ponieważ ja chce zrobić z tego ankietę do wypełnienia zależało mi na tym żeby dodać jakieś pola do tego formularz i to misie udało.

Ponieważ moja ankietka będzie rozbudowana mogą mi się pomylić słowa które przychodzą na maila z pól tekstowych z ankiety.

Wiec mam pytanie:
Jak zrobić w php pustą linie, taki odstęp jak po enterze w Wordzie
Jak wpisać tekst – chodzi mi oto bym w wersji którą dostaje na maila do słów z pól tekstowych dostosować pytania z ankiety

Pozdrawiam i dziękuję z pomoc
Go to the top of the page
+Quote Post
borec
post 30.07.2005, 00:28:36
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


  1. <?
  2. if ($_POST) {
  3. // w zmiennej $to zapisujemy adres gdzie formularz mialby byc wysylny
  4. $to = 'amistat@wp.pl';
  5.  
  6. //przetwarzamy dane formularza i wysylamy na wczesniej definiowany adres mail
  7. $temat = 'Ankieta';
  8.  
  9. $body = '';
  10.  
  11. foreach ($_POST as $key => $value) {
  12. $body .= $key . ': ' . $value . &#092;"n\";
  13. }
  14.  
  15. //kodowanie wiadomosci na polskie znaki
  16. $bodypl = iconv(&#092;"UTF-8\",\"ISO-8859-2\",$body);
  17.  
  18. if(@mail($to, $temat, $bodypl))
  19. {
  20. // zaleznie od tego czy wyslanie maila powiodlo sie wysylamy odpowiednia odpowiedz
  21. do Flash
  22. echo &#092;"odpowiedz=WYSLANIE FORMULARZA POWIODLO SIE...&\";
  23. } else {
  24. echo &#092;"odpowiedz=WYSTAPIL BLAD PODCZAS WYSYLANIA MAIL!!!&\";
  25. }
  26. }
  27. ?>

teraz mozesz dowolnie zmieniac/dodawac/usuwac pola w formularzu. wszystkie beda wyslane maile mw postaci:

nazwa_pola1: wartosc1
nazwa_pola2: wartosc2
nazwa_pola3: wartosc3


--------------------
Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD
Go to the top of the page
+Quote Post
Amistat
post 31.07.2005, 22:50:49
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.07.2005

Ostrzeżenie: (0%)
-----


Bardzo dziękuje.
Bardzo mi pomogłeś.
Go to the top of the page
+Quote Post
-SaraniS-
post 10.08.2005, 17:00:59
Post #4





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 2.01.2005
Skąd: Opolskie

Ostrzeżenie: (0%)
-----


Witam
Pozwole sobie dopisac sie tutaj.
Otoz u mnie problem jest z uzyskaniem (w mailu; na stronach sa winksmiley.jpg ) polskich czcionek. Kombinowalem ze zmiana kodowania strony na utf-8, kodowania maila na iso-8859-2 (dodatkowy naglowek w funkcji mail()), oraz iconv('utf-8', 'iso-8859-2', $tresc) - bez rezultatu. Krzaczki sa, wprawdzie rozne, ale jednak nie sa to polskie ogonki. Co jeszcze moge zrobic?
Dodam, ze:
- Nie jestem adminem serwera wiec nie moge zmieniac globalnych ustawien.
- Obecnie wszystkie zmienne modulu iconv sa ustawione na iso-8859-1.
- Sam serwer pracuje w iso-8859-2, a mailer w utf-8.

Edit:
Odkrylem, ze funkcja iconv zwraca mi false. Co teraz? sad.gif

Edit2:
Uzylem funkcji imap_mail() zamiast mail() i jest ok. Nie musialem uzywac ani iconv, ani kombinowac z kodowaniem cool.gif

Ten post edytował -SaraniS- 10.08.2005, 17:53:21


--------------------
Workstation: Hardware: Toshiba Satellite L40-14B Software: Linux 2.6.30.3 - Slackware 12.2 - KDE3.5.10
Server: Hardware: Celeron 850MHz/ 256MiB Software: Linux 2.4.31 - Slackware 10.2 - Apache 2.2.0.59 + PHP 5.1.6 + MySQL 5.0.24a
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 10:49