Zrobiłam formularz kontaktowy na stronę. Skorzystałam z porad z jakiegoś forum. Wszystko działa. Sprawdza on czy wszystkie dane zostały wpisane. Jeśli nie zostały, to wyświetla komunikat, żeby uzupełnić dane. Jeśli wszystko zostało wypełnione, to wysyła maila.
Pierwsze:
Po wysłaniu maila pojawia się pusta strona, do której mogę ewentualnie za pomocą echo podać napis typu Dziękujemy za wysłanie maila itp.
Ja chciałabym, żeby podziękowanie za wysłanie maila pojawiało się np. zamiast napisu *Pola wymagane. Bądź gdzieś wyżej nad formularzem.
Drugie:
Chciałabym, żeby po wysłaniu maila, gdy już wszystkie dane są sprawdzone oraz po odśwież, czyściło wypełniony formularz. Bo gdy robię odśwież, to wpisane dane zostają. A nie chcę, żeby ktoś złośliwy przysyłał mi 1000 maili dziennie

onSubmit="return validate.check(this)" Czyli zawsze sprawdza gdy są błędy.
Gdy dodam do tego:
"nazwaformy.submit();nazwaformy.reset();return false;" to wtedy najpierw sprawdzi mi czy dane są wpisane, jeśli nie to wyskoczy komunikat, że nie. Ale gdy na komunikacie z błędem kliknę OK, to i tak wysyła. Nie sprawdza wtedy tych pól czy są wypełnione.
Nie znam się za bardzo na php. Szukałam po różnych forach, ale nie mogę znaleźć.
Mój formularz kontaktowy:
<form action="wyslij.php" method="post" name="formcontact" id="formcontact" onSubmit="return validate.check(this)"> <table width="310"><tr><td colspan="0" align="left" valign="top"><table width="310" > <tr> <td colspan="0" align="left" valign="top"><p style="text-align:left"><span class="style48">* wymagane</span></p></td> </tr> <tr> <td width="80" valign="top" ><label for="Nazwa">Nazwa*</label></td> <td width="230" valign="top" ><input type="text" name="Nazwa" id="Nazwa" maxlength="50" style="width:230px" /></td> </tr> <tr> <td valign="top" ><label for="Email">E-mai*</label></td> <td valign="top" ><input type="text" name="Email" id="Email" maxlength="50" style="width:230px" /></td> </tr> <tr> <td valign="top" ><label for="Temat">Temat</label></td> <td valign="top" ><input type="text" name="Temat" id="Temat" maxlength="50" style="width:230px" /></td> </tr> <tr> <td width="80" valign="top" ><label for="Tresc">Treść*</label></td> <td valign="top" ><textarea style="width:230px;height:120px" name="Tresc" id="Tresc" maxlength="2000"></textarea></td> </tr> <tr> <td height="30" colspan="2" style="text-align:center"><span style="text-align:center"><span style="text-align:center"><span style="text-align:center"> <label><span style="text-align:right"><span style="text-align:right"><span style="text-align:right"><span style="text-align:right"> <input type="reset" name="Reset" id="button" value="WYCZYŚĆ" /> </span></span></span></span></label> <input name="Submit" type="submit" value="WYŚLIJ" /> </span></span></span></td> </tr> </table><p style="text-align:left"> </p> </td> </tr> </table> </form>
Mój plik wyslij.php
<?php $wiadomosc = "Imie: ".$_POST['Nazwa']." e- mail: ".$_POST['Email']." temat: ".$_POST['Temat']." Tresc: ".$_POST['Tresc']." "; $tematyka = "E-mail ze strony NAZWA STRONY ".$temat; ?>
moj plik do sprawdzania:
function has_id(id){try{var tmp=document.getElementById(id).value;}catch(e){return false;} return true;} function has_name(nm){try{var tmp=cfrm.nm.type;}catch(e){return false;} return true;} function $$(id){if(!has_id(id)&&!has_name(id)){alert("Pole "+id+" nie jest wypelnione!\n Blad formularza.");return false;} if(has_id(id)){return document.getElementById(id).value;}else{return;}} function $val(id){return document.getElementById(id);} var required={field:[],add:function(name,type,mess){this.field[this.field.length]=[n ame,type,mess];},out:function(){return this.field;},clear:function(){this.field=[];}};var validate={check:function(cform){var error_message='Prosimy uzupełnić pola:\n\n';var mess_part='';var to_focus='';var tmp=true;for(var i=0;i<required.field.length;i++){if(this.checkit(required.field[i][0],required.fiel d[i][1],cform)){}else{error_message=error_message+required.field[i][2]+' - pole jest blednie wypelnione.\n';if(has_id(required.field[i][0])&&to_focus.length===0){to_focus=required.field[i][0];} tmp=false;}} if(!tmp){alert(error_message);} if(to_focus.length>0){document.getElementById(to_focus).focus();} return tmp;},checkit:function(cvalue,ctype,cform){if(ctype=="NOT_EMPTY"){if(this.trim($$(cvalue)).length<1){return false;}else{return true;}}else if(ctype=="EMAIL"){exp=/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;if($$(cvalue).match(exp)==null){return false;}else{return true;}}},trim:function(s){if(s.length>0){return s.replace(/^\s+/,'').replace(/\s+$/,'');}else{return s;}}};
I jeszcze mały fragment w head:
<script src="lite_validation.js"></script> <script> required.add('Nazwa','NOT_EMPTY','Nazwa'); required.add('Email','EMAIL','Email'); required.add('Tresc','NOT_EMPTY','Tresc') </script>
Z góry dziękuję za pomoc.
Pozdrawiam
Aga