Formularz w e-mailu

draniu

Użytkownik
Dołączył
Październik 10, 2004
Posty
69
Jak wyslac w tresci e-maila formularz wraz ze skryptem w php ktory odbiorca wypelnia a dane z formularza przychodza mi na maila ?
 
K

KangurX

Gość
Daj najlepiej kodzik tego co juz masz to ci przerobie ;]

Ok juz kiedys znalazlem w necie ten skrypt to ci podaje:

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'><?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wy?wietlamy formularz
echo "<table border=\"0\"><form method=\"post\">

<tr>
<td>Imie, nazwisko lub nick</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Twoj adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Tresc wiadomosci</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td><input type=\"submit\" name=\"submit\" value=\"Wyslij\"> 
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}
// sprawdzamy, czy zmienne przesłane z formularza nie sš puste
elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomo?ć
// zmienna $message zawiera tresc wiadomosci
$message = "Tresc wiadomosci:\n$_POST[tresc]\nTemat: $_POST[imie]\ne-mail: $_POST";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
// funkcja mail() za pomocš której wiadomo?ć zostanie wysłana
@mail("twojmail","temat maila","$message","$header")
or die('Nie udalo sie wyslac wiadomosci');
// wy?wietlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\">[b]Wiadomosc zostala wyslana poprawnie![/b]</div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "Wypelnij wszystkie pola formularza!";

?></div>

nic nie zmieniane zeby nie bylo ;d
 

RobertG

Użytkownik
Dołączył
Styczeń 3, 2007
Posty
391
Jak wyslac w tresci e-maila formularz wraz ze skryptem w php[/b]
Nie da się wysłać komuś skryptu w PHPie bo PHP'a interpretuje serwer a nie przeglądarka. Do tego, co opisujesz wystarczy czysty HTML

Co do postu wyżej, to chyba nie jest na temat, Twój kod wysyłą maila jezeli user wypełni formatke z danymi na stronie. Gdy wyślesz komuś takie coś mailem kod php'a nie zostanie zinterpretowany, tylko wyświetli się jego źródło.

Wracając do tematu, nie potrzeba PHP'a, jezeli chcemy wysłać tylko 1 taką wiadomość, coś takiego można wysłać np w Thunderbirdzie klikając na insert->html i później wpisując np:
Kod:
<form action="http://interia.pl/" method="post"><input
 name="sth" type="text"></form>
Ważne jest, by wpisać pełny URL w action. Póżniej klikamy "send as html" i działa!
 

draniu

Użytkownik
Dołączył
Październik 10, 2004
Posty
69
W takim razie może ktoś z was poprostu wyśle mi takiego maila z jakimś krótkim formularzem i zobaczymy czy dojdą do was dane z formularza :] mój e-mail to [email protected]
<
a poza tym chyba nie bede tylko i wyłącznie do tego celu insalował Thunderbird-a..
 

B33RK4

Użytkownik
Dołączył
Styczeń 3, 2007
Posty
598
draniu - chodzi Ci o to , że np po wypełnieniu jakiegoś formularza, który jest na stronce i pciśnięciu w wyślij - tekst który był wprowadzony do inputów, został wysłany na Twojego maila?
Nic trudnego wystarczy funkcja mail() w php...
 

widmo17

Były Moderator
Dołączył
Lipiec 16, 2007
Posty
1089
draniu, na większości skrzynek mailowych jest funkcja wysyłania listu jako html ( np. na wp.pl, o ile się nie mylę ;] ). Nie musisz instalować thunderbirda - zakładasz taką skrzynkę, wysyłasz maila html, i <form action="pełny link do skryptu wykonującego">, tak jak powiedział RobertG
 
K

KangurX

Gość
przeciez podalem skrypt to po co rozwiajc dalej ten temat?
 
K

KangurX

Gość
jemu chodzi aby na stronie byl formularz i po wpisaniu swoich danych wyslano mu to na maila

Moze zle zrozumialem
<
wybaczcie jak tak ;p
 

RobertG

Użytkownik
Dołączył
Styczeń 3, 2007
Posty
391
IMHO chodzi o to, by wysłać komuś maila, w którym będzie formatka HTML'owa, tak by ten ktoś wypełnił dane, kliknął 'send' czy cos i by dane poleciały na stronę autora. Więc formatka nie jest na stronie, tylko w HTML'u wysłanej wiadomości.

Tak mi się wydaje
<
 

draniu

Użytkownik
Dołączył
Październik 10, 2004
Posty
69
<div class='quotetop'>CYTAT(RobertG @ 7.05.2008, 22:33) <{POST_SNAPBACK}></div>
IMHO chodzi o to, by wysłać komuś maila, w którym będzie formatka HTML'owa, tak by ten ktoś wypełnił dane, kliknął 'send' czy cos i by dane poleciały na stronę autora. Więc formatka nie jest na stronie, tylko w HTML'u wysłanej wiadomości.

Tak mi się wydaje
<
[/b]

RobertG masz racje o to mi własnie chodzi.
 

jurgensen

Użytkownik
Dołączył
Grudzień 14, 2006
Posty
678
Możesz wysłać wiadomość HTML o następującej treści:

Kod:
<form method="post" action="http://www.strona.pl/skrypt.php">
<input type="text" name="wartosc1" value="wartosc1" />

<input type="text" name="wartosc2" value="wartosc1" />

<input type="submit" name="wyslij" value="wyslij" />
</form>

Natomiast na stronie http://www.strona.pl (oczywiście może być dowolna z obsługą php, wtedy zmieniasz też to w treści wiadomości) umieszczasz skrypt skrypt.php o następującej treści:

Kod:
<?
$zmienna = $_POST['wartosc1'];
$zmienna1 = $_POST['wartosc2'];
$plik = fopen("plik.txt", "a+");
fwrite($plik, $zmienna);
fwrite($plik, $zmienna1);
fclose($plik);
?>

Wtedy po otrzymania wiadomości, wypełnieniu formularza i wciśnięciu "wyslij" na serwerze dane z pól wartosc1 i wartosc2 zostaną zapisana do pliku plik.txt

Chyba o to chodziło
 

marco65

Użytkownik
Dołączył
Lipiec 22, 2010
Posty
1
Przytaczany wyżej kod:

<?
$zmienna = $_POST['wartosc1'];
$zmienna1 = $_POST['wartosc2'];
$plik = fopen("plik.txt", "a+");
fwrite($plik, $zmienna);
fwrite($plik, $zmienna1);
fclose($plik);
?>

Obecnie jest odrzucany... Jakaś dobra dusza mogłaby to poprawić?
 

nowy_me

Użytkownik
Dołączył
Luty 7, 2007
Posty
451
no tak to niestety jest jak się nie ma pojęcia o PHP i próbuje odpalić gotowca :D
kod który wkleiłeś jest poprawny, przy czym pewnie jak coś zmieniali na forum to znak ' zmienił się na '
$zmienna = $_POST['wartosc1'];
$zmienna1 = $_POST['wartosc2'];
 

Legalnl

Użytkownik
Dołączył
Październik 8, 2008
Posty
828
// sorki nie zauważyłem że temat jest na 2 strony ale nich zostanie ;)


Przykładowy formularz:
PHP:
<div>
    <form action="skrypt.php" method="post">
        <input type="text" name="email" /><br />
        <textarea name="content" cols="30" rows="6"></textarea>
        <input type="submit" value="wyślij" />
    </form>
</div>
Przykładowy kod skryptu:
PHP:
<?PHP
    $adresat = '[email protected]';     // pod ten adres zostanie wysłana                             // wiadomosc
    @$email = $_POST['email'];
    @$content = $_POST['content'];
    $header =     "From: [email protected] \nContent-Type:".
            ' text/plain;charset="iso-8859-2"'.
            "\nContent-Transfer-Encoding: 8bit";
    if (mail($adresat, 'List ze strony', $content, $header))
        echo '<p>działa</p>';
    else 
        echo '<p><b>NIE</b> wysłano maila!</p>';
?>
Ogólnie to chodzi o funkcje mail:

PHP:
mail('[email protected]', 'tytuł', 'tresc maila', 'naglowki');
Z tego co wiem maile z php trafiają do spamu (kwestia ustawienia nagłówka)
 
Ostatnio edytowane przez moderatora:
Do góry Bottom