oryginalna forma strony
<!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="utf-8"> <link rel="stylesheet" href="css/reset.css" type="text/css" media="all"> <link rel="stylesheet" href="css/grid.css" type="text/css" media="all"> <link rel="stylesheet" href="css/style.css" type="text/css" media="all"> <!--[if lt IE 7]><script type="text/javascript" src="http://info.template-help.com/files/ie6_warning/ie6_script_other.js"></script><![endif]--> <!--[if lt IE 9]><script type="text/javascript" src="js/html5.js"></script><![endif]--> </head> <body> <div class="top1"> <header> <div class="main"> <h1><a href="index.html"><img alt="" src="images/na.png" class="img-indent" /></a></h1> <form action="" id="Search"> </form> <div class="inside"> <nav> <ul class="sf-menu"> <li><a href="index.html">home</a></li> <li><a href="index-1.html">zaufali nam</a> <li><a href="index-2.html">Druk Projekt</a></li> <li><a href="index-3.html">polecamy</a></li> <li><a href="index-4.html">portfolio</a></li> <li><a href="http://bl.photoprocessing.pl" onclick="this.target='_blank'">blog</a></li> <li><a href="index-6.html" class="current">namiary</a></li> </ul> </nav> </div> </div> </header> </div> <div class="bg_cont1"> <div class="bg_cont"> <section id="content"> <div class="main"> <div class="inside"> <div class="container_16"> <div class="container"> <div class="grid_5 alpha"> <h2></h2> <div class="indent5"> <strong class="txt5">A także z kontaktujesz się z nami poprzez</strong><br> <p class="block-contact"><span>34879888</span>GG:<br> <span>+48 667 563 326</span>Mobile: <br> <a href="#">info@photoprocessing.pl</a></p> </div> <!-- (C) GG Network SA - Gadu-Gadu Widget --> <script type="text/javascript" src="http://widget.gadu-gadu.pl/getCode.php?id=6f5bdffcf4156d280ef9b08903935670c183f0c2"></script> </div> <div class="grid_11 omega"> <div class="suffix_1"> <h2>Zadaj nam pytanie</h2> <form action="" id="form"><fieldset> <div class="rowElem"><input type="text" value="Imię i Nazwisko:" onBlur="if(this.value=='') this.value='Imię i Nazwisko:'" onFocus="if(this.value =='Imię i Nazwisko:' ) this.value=''" /></div> <div class="rowElem"><input type="Email" value="E-mail:" onBlur="if(this.value=='') this.value='E-mail:'" onFocus="if(this.value =='E-mail:' ) this.value=''" /></div> <div class="rowElem"><input type="text" value="Temat:" onBlur="if(this.value=='') this.value='Temat:'" onFocus="if(this.value =='Temat:' ) this.value=''" /></div> <div class="rowElem2"><textarea rows="40" cols="30" onBlur="if(this.value=='') this.value='Wiadomość:'" onFocus="if(this.value =='Wiadomość:' ) this.value=''" >Wiadomość:</textarea></div> <div class="container"> <div class="fright"> <a href="#" class="link-1" onClick="document.getElementById('form').reset()">usuń</a> <div class="indent-2"><a href="#" class="link-1" onClick="document.getElementById('form').submit()">wyślij</a></div> </div> </div> </fieldset></form> </div> </div> </div> </div> </div> </div> </section> </div> </div> <footer> <div class="main"> <div class="inside"> <div class="container"> <div class="fright"><!--{%FOOTER_LINK}--></div> Š Copyright 2011 by PhotoProcessing. Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody autora zabronione!</div> </div> </div> </footer> </body> </html>
to co jest w szablonie formularza
Plik i nazwie ustawienia.PHP
<?php /* Ustawienia formularza kontaktowego */ $adres_odbiorcy = 'twoj@adresmail.pl'; //tu wpisz adres e-mail na który mają przychodzić wiadomości /* Ustawienia wymaganych pól */ /* Pamiętaj, żeby oznaczyć wymagane pola w formularzu - plik formularz.php */ $valid['nick'] = 2 ; // Nick: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik $valid['mail'] = 1 ; // e-mail: 0 - oznacza pole nieobowiązkowe, 1 - pole wymagane $valid['temat'] = 3 ; // Temat: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik $valid['tresc'] = 5 ; // Treść: 0 - oznacza pole nieobowiązkowe, inna liczba minimalną ilość znaków jakie musi wpisać użytkownik /* Komunikaty */ $komunikat['sukces'] = 'Dziękujemy. Twoja wiadomość została wysłana.'; //Wiadomość po udanym wysłaniu formularza $komunikat['blad'] = 'Wiadomość <b>NIE</b> została wysłana. Popraw poniższe błędy.'; //Wiadomość przy błędzie w sprawdzaniu danych, błędy zostaną wymienione poniżej $komunikat['nick'] = 'Nick musi mieć min. 2 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane $komunikat['mail'] = 'Podaj poprawny adres e-mail.'; //Wiadomość po błędnym wpisaniu adresu e-mail $komunikat['temat'] = 'Temat musi mieć min. 3 znaki.'; //Wpisz właściwą ilość znaków jeśli pole wymagane $komunikat['tresc'] = 'Treść musi mieć min. 5 znaków'; //Wpisz właściwą ilość znaków jeśli pole wymagane $komunikat['fail'] = 'Przepraszamy wystąpił chwilowy błąd. Spróbuj ponownie później'; //W przypadku nieudanego wyslania wiadomości np. błędu serwera ?>
Kolejny plik mail.PHP
<?php /********************************************************************************
*****/ /* Licencja na użytek prywatny i komercyjny. */ /* Wymaga pozostawiania poniższych danych o autorze i pochodzeniu skryptu. */ /* Autor: Labsta.com Laboratorium Designu */ /* Skrypt pochodzi ze strony <a href="http://websta.pl" target="_blank">http://websta.pl</a> - Blog o grafice i projektowaniu stron */ /* 03/02/2010 */ /********************************************************************************
*****/ include ('ustawienia.php'); include('formularz.php'); function wyswietl_forme($komunikat='') { '#komunikat#', '#strona#', '#nick#', '#mail#', '#temat#', '#tresc#' ); $komunikat, $_SERVER['REQUEST_URI'], $_POST['nick'], $_POST['mail'], $_POST['temat'], $_POST['tresc'] ); return $formularz; } function waliduj() { if( $valid['nick'] > 0 ) { $walidacja['nick'] = $komunikat['nick']; } } if( $valid['mail'] == 1 ) { if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) { $walidacja['mail'] = $komunikat['mail']; } } if( $valid['temat'] > 0 ) { $walidacja['temat'] = $komunikat['temat']; } } if( $valid['tresc'] > 0 ) { $walidacja['tresc'] = $komunikat['tresc']; } } return 'true'; }else{ return $walidacja; } } // Działanie if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wejście postem $walidacja = waliduj(); if ($walidacja == 'true'){ //poprawnie wypełniony formularz if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['temat'])."?=",'<p>Od: <b>'.$_POST['nick'].'</b></p><pre>'.$_POST['tresc'].'</pre>','From:'.$_POST['mail']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces print ' <div id="sukces"> <p>'.$komunikat['sukces'].'</p> </div> '; }else{ //bląd serwera print ' <div id="blad"> <p>'.$komunikat['fail'].'</p> </div> '; } }else{ //błędna walidacja $blad_walidacji = $walidacja; $blad_walidacji = ' <div id="blad"> <p>'.$komunikat['blad'].'</p> <ul> '; foreach ($walidacja as $wpis) { $blad_walidacji .= '<li>'.$wpis.'</li>'; } $blad_walidacji .= ' </ul> </div> '; } }else{ // nowe wejście } ?>
Kolejny plik formularz.PHP
#komunikat# <form action="#strona#" method="post" id="formularz"> <div> <label>Nick / Imię i nazwisko: <span class="red">*</span></label> <input type="text" id="nick" name="nick" value="#nick#" /> </div> <div> <input type="text" id="mail" name="mail" value="#mail#" /> </div> <div> <label>Temat: <span class="red">*</span></label> <input type="text" id="temat" name="temat" value="#temat#" /> </div> <div> <label>Treść: <span class="red">*</span></label> <textarea cols="27" rows="10" id="tresc" name="tresc" >#tresc#</textarea> </div> <div> <span class="red">*</span> - oznacza pola wymagane. </div> <div> <input type="submit" value="Wyślij" /> </div> </form>