lopik_ Opublikowano 7 Czerwca 2006 Zgłoś Opublikowano 7 Czerwca 2006 Nie znam sie na PHP a potrzebuję zrobić formulaz na stronie do wysyłania wiadomości do mnie. Mam strone w html'u i potrzebuje taki formulaz do tej strony wstawić. (mam serwer z obsługą php) To znaczy ja juz sobie formularz zrobiłe i wszystko mam juz ładnie na stronie, teraz tylko potrzebuje odpowiedni kod PHP zeby ten formulaz dzialał (wysyłał po kliknieciu buttona "wyslij" ;) ) To juz mam/zrobiłem: Imię: (imię/nazwa nadawcy) Adres: (adres email nadawcy) Tresc: (tresc wiadomości) Wyslij (button wyslij, po kliknieciu wysyła wiadomosc) I zeby po wysłaniu wiadomośći wyskoczyło info pod formularzem ustawione przezemnie np. Wiadomosc zostala wysłana, Dziękuję itp. itd. I jak by bylo mozlize zeby nie przeładowywał ten skrypt strony po wysłaniu - podobno da sie tak. A oto mój kod html formularz który sobie zrobiłem: *contact.html - to strona na której mam ten formularz <form action="contact.html" method="post"> <table><tr> <td valign="top" class="table_right">imię:</td> <td><input name="imie" type="text" class="intput" style="width:240px;"/></td> </tr><tr> <td valign="top" class="table_right"> e-mail:</td> <td><input name="adres" type="text" class="intput" style="width:240px;"/></td> </tr><tr> <td valign="top" class="table_right">wiadomo¶ć:</td> <td><textarea name="tresc" cols="12" rows="5" class="textarea"></textarea></td> </tr><tr> <td class="table_right"> </td> <td><input name="submit" type="submit" class="button" value="wy¶lij" /></td> </tr></table> </form> Z Góry Bardzo Dziękuję !! Pozdrawiam. !! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sid Opublikowano 7 Czerwca 2006 Zgłoś Opublikowano 7 Czerwca 2006 (edytowane) O ile serwer obsługuje funkcję mail(): http://pl2.php.net/manual/en/ref.mail.php Dodajesz sobie gdzieś, np poniżej formularza: <?if (isset($_POST['submit'])) {mail('moj.adres@email.com', 'Moja strona - kontakt' , $tresc, 'From: ' . $imie.' <'.$adres.'>');echo('Email został wysłany!');}?> // BTW: nie działa :( Edytowane 7 Czerwca 2006 przez Sid Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
lopik_ Opublikowano 7 Czerwca 2006 Zgłoś Opublikowano 7 Czerwca 2006 (edytowane) Sorry ale mozesz napisac dokladnie... nie znam sie na php wiec nie iwme. Mam ten kod dodac do pliku html ? i bedzie to działać ? EDIT: A więc zmieniłem html'a na php i teraz działa tak jak chciałem :) Ale jeszcze chciał bym zmienić kolor i wielkość czcionki tej "Email został wysłany" to jest po wyslanieu wiadomosci. Jak to mozna sformatowac ? Edytowane 7 Czerwca 2006 przez Rocky998 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sid Opublikowano 8 Czerwca 2006 Zgłoś Opublikowano 8 Czerwca 2006 Hm normalnie, jak masz: echo('Email został wysłany!');To formatujesz tam i np. dajesz: echo('<span style="font-family:Verdana; color: #00ff00; font-size:14px">Email został wysłany!</span>'); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Czerwca 2006 Zgłoś Opublikowano 8 Czerwca 2006 <form action="contact.php" method="post"> robisz oprócz pliku z formularzem (może być w htmlu), plik contact.php, tam wklejasz to co dał Ci Sid. Wtedy klikniecie wyślij w formularzu wywoła plik contact.php, który jeśli masz obsługę php na serverze wykona ten plik i wyśle mejla... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
lopik_ Opublikowano 8 Czerwca 2006 Zgłoś Opublikowano 8 Czerwca 2006 Dzięki. Zrobilem z html .php i teraz juz dziala wszystko jesli chodzi o dzialanie. Ale co do tego formatowanie to wpisalem tak jak "Sid" napisał i nie dziala :? Mam tak: echo('Wiadomość wysłana. Dziękuję !!'); I chce to sformatować takim stylem: .form {margin-left:4em;font-size:10px;color:#BC2E2E;font-weight:bold;} Więc da sie jakos tą klase dodać ? Pyt. 2 Formularz dziala i wszystko ok, ale chcial bym zeby bylo w nim takie cos ze jak ktos nie wypelni pola "Imie" i "email" to zeby nie wyslal wiadomosci i jak ktos napisze np. mniej niz 10 znaków w "tresc" to tez zeby nie wyslal. Zeby takie info wyskakiwalo w tym samym miejscu co wyskakuje po wysłaniu wiadomosci, ze popelniono taki czy taki błąd. Wiem ze sie tak da bo tak widzialem. No i czy mozecie mi napisac cos takiego ? No chyba ze to juz jest bardzo skomplikowane, to rozumiem. Z Góry Wielkie Dzięki. Pozdrawiam. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 10 Czerwca 2006 Zgłoś Opublikowano 10 Czerwca 2006 sprawdzenie 2 zmiennych do skomplikowanych raczej nie należy :) jesli chodzi o dodanie stylu.. to musisz dodac klasyczny nagłówek html do pliku generowanego przez PHP... i w tym nagłówku wrzucić styl... plik powinien w efekcie przetwarzania przez server PHP dać taką strukturę... <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> <html> <head> <title> </title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1250\"> <link rel=\"stylesheet\" href=\"style1.css\" type=\"text/css\"> </head> <body> tu zawartość strony + formy </body> </html> oczywiście trochę może się różnić w zależności od potrzeb.. ale pamiętaj że skrypt PHP musi wygenerować POPRAWNĄ stronę html... Co do validacji nadawcy... to na początku skryptu który wywołujesz , który wysyła mejla musisz sprawdzić czy zmienne są ustawione... if(isset($_POST['imie']) && isset($_POST['email']) ) { $IP=$_SERVER['REMOTE_ADDR']; $imie=$_POST['imie']; $data=date('d.m.Y H:i:s'); $email=$_POST['email']; $tresc=$_POST['tresc']; } else echo "Nie wypełeniłeś wszystkich wymaganych pól!<br>"; Tu masz kawałek mojej stronki do wysyłania komentarzy... Jesli nie wypełni się pól imie i email to zostanei wyświetlony napis Nie wypełeniłeś wszystkich wymaganych pól! Do sprawdzenia długości musisz poszukać w manulau do PHP funkcji sprawdzajacej długość... bedzie coś w stylu lenght()... Zakałdajac ze to ta funkcja to kod może wyglądać tak.. if(lenght($tresc)>10) wyslij_majla; else echo 'Wiadomość zbyt krótka'; i treści echowanych nie musisz umieszczać w nawiasie... piszesz echo 'blablabla'; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...