Skocz do zawartości

Zdjęcie
* * * * * 1 głosy

Wysłanie odpowiedzi formularza na email


3 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
testerius

    Użytkownik

  • 77 postów
    • Czas spędzony online: 2d 8h 52m 2s
6
Neutralna

Napisano 14 lutego 2014 - 18:18

#1

Aktualnie potrzebuję porady dotyczącej w jaki sposób wysłać odpowiedzi formularz na podany adres email. Z PHP miałem mało do czynienia i w dodatku moja wiedza opierała się na korzystaniu z gotowych skryptów, jak np. ten użyty w kursie html. Pamiętam, że skrypt działał w miarę dobrze, jednak chciałbym skorzystać z czegoś innego, nowszego, co będzie działać mniej więcej na takiej samej zasadzie. Użytkownik wypełnia przykładową ankietę, której odpowiedzi zostają wysłane na dany adres email - ten który konfiguruję w pliku, bądź druga opcja, którą rozważam to użytkownik podaje swój własny adres email, w inpucie tak jak imię i nazwisko.

 

Tutaj znajduje się demo mojego formularza: http://jsfiddle.net/Vj94y/1/

 

W dokumentacji PHP znalazłem przykład, tylko nie za bardzo wiem w jaki sposób pobrać odpowiedzi z formularza.

<?php
$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n".'Reply-To: [email protected]' . "\r\n".'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Jakiś najprostszy sposób jak sobie z tym poradzić?


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 14 lutego 2014 - 18:23

#2

Wysyłanie maila obsłuż za pomocą PHPMailer - w necie znajdziesz info co i jak, jest to banalne.

 

Co do pobrania informacji z formularza to pobierasz je na zasadzie:

$name = isset($_POST['name']) ? $_POST['name'] : '';

A nazwy pól w formularzu rób bez polskich znaków.


  • 1

webDeveloper


testerius

    Użytkownik

  • 77 postów
    • Czas spędzony online: 2d 8h 52m 2s
6
Neutralna

Napisano 14 lutego 2014 - 20:28

#3

Nie chciałbym używać dodatkowych skryptów (zależy mi na prostocie), próbowałem samemu to jakoś napisać, no i prawie to zrobiłem, tylko jest mały problem. Tam, gdzie mam więcej odpowiedzi do zaznaczenia, na email wysyłana jest tylko 1, zamiast np. 2, 3, patrz pytanie 4.  :P

 

Plik mail.php - formularz kieruje do tego pliku:

<?php

	$to = '[email protected]';
	$subject = 'Ankieta - odpowiedzi';
	$headers = 'Od: ANKIETA'."\r\n"."Content-Type: text/plain; charset=UTF-8\n";

	$message = 
	'Imię: '.$_POST['imie']. "\n".
	'Nazwisko: '.$_POST['nazwisko']. "\n".
	'Płeć: '.$_POST['plec']. "\n".
	'Wiek: '.$_POST['wiek']. "\n".
	'Przeglądarka: '.$_POST['przegladarka']. "\n".
	'System: '.$_POST['system']. "\n".
	'Portal: '.$_POST['portal']. "\n".
	'Forum: '.$_POST['forum']. "\n".
	'Film: '.$_POST['film']. "\n".
	'Gry: '.$_POST['gry']. "\n".
	'Prędkość: '.$_POST['predkosc']. "\n".
	'Internet: '.$_POST['internet']. "\n".
	'Czas: '.$_POST['czas'];

	mail($to, $subject, $message, $headers);

Kod pewnie do bani, ale inaczej nie potrafię. Tego PHPMailer na pewno kiedyś sprawdzę, gdy będę potrzebował do czegoś większego, no i jak poduczę się PHP. :D


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 15 lutego 2014 - 19:55

#4

Powinieneś od razu zrobić to za pomocą PHPMailer, jest to bardziej przejrzyste jak mail którego używasz. https://github.com/S...-simple-example

 

Co do Twojego mail, to headers masz źle, powinno być coś pokroju:

$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

From nie zmieniaj na Od, tak ma być. Co do pytania 4 (o sociale, to jest to checkbox - nie radio - każdy input powinien mieć inną nazwę (Facebook, Twitter, etc) i trzeba sprawdzać czy jest zaznaczone:

'Portal: '.(isset($_POST['facebook']) ? ' Facebook':'').(isset($_POST['twitter']) ? ' Twitter':'').(isset($_POST['google']) ? ' Google +':'').'\n'.

Jak coś jeszcze nie jest nie tego to pytaj


  • 1

webDeveloper





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych