Vom folosi fomularul din tutorialul Validarea unui Formular cu JavaScript.
Dupa cum am explicat in acel tutorial, nu este recomandata folosirea JavaScript-ului ca unica masura de validare.
<html> <head> <!-- Tutorial distribuit de rotuts.com . Tutoriale web-design , programare si multe altele la rotuts.com --> <title>Form Validation cu PHP </title> <!-- adaugam pagina javascript pe pagina cu formularul --> <script type="text/javascript" src="validareform.js"></script> </head> <body> <!-- Adaugam tag-ului de Form eventul onsubmit , care va intoarce rezultatul validarii(in cazul nostru) : --> <!-- TRUE - trece sau FALSE - nu trece ( ca sa spunem asa )--> <form action="" enctype="multipart/form-data" name="form" onsubmit="return ValidareForm(this);"> <label>Name <br /> <input type="text" name="nume" /> </label><br /> <label>E-mail <br /> <input type="text" name="email" /> </label><br /> <label>Mesaj <br /> <textarea name="mesaj" cols="100"></textarea> <label><br /><br /> <input type="submit" name="submit" /> </form> </body> </html>
<html> <head> <!-- Tutorial distribuit de rotuts.com . Tutoriale web-design , programare si multe altele la rotuts.com --> <title>Form Validation cu PHP </title> <!-- adaugam pagina javascript pe pagina cu formularul --> <script type="text/javascript" src="validareform.js"></script> </head> <body> <!-- Adaugam tag-ului de Form eventul onsubmit , care va intoarce rezultatul validarii(in cazul nostru) : --> <!-- TRUE - trece sau FALSE - nu trece ( ca sa spunem asa )--> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" name="form" onsubmit="return ValidareForm(this);" method="post"> <label>Name <br /> <input type="text" name="nume" value="<?php $_POST['nume'];?>" /> </label><br /> <label>E-mail <br /> <input type="text" name="email" value="<?php $_POST['email'];?>" /> </label><br /> <label>Mesaj <br /> <textarea name="mesaj" cols="100"><?php $_POST['mesaj'];?></textarea> <label><br /><br /> <input type="submit" name="submit" /> <input name="submit_id" type="hidden" id="submit_id" value="1"/> </form> </body> </html>
Primul lucru ,cel mai important, este sa specificam unde va trimite formularul datele colectate catre scriptul de procesare.
Dupa cum vedeti, scriptul o sa fie pe aceeasi pagina cu formularul ( <?php echo $_SERVER['PHP_SELF']; ?> ).
Trebuie sa specificam metoda trimiterii datelor din formular catre pagina de procesare ( in cazul nostru , catre PHP ), POST sau Get.
Vom folosi metoda POST deoarece acest formular ar putea trimite multe date catre pagina de procesare ( in special prin textarea (un mesaj al vizitatorului) ), metoda GET trimite toate datele formulariului prin URL , navigatoarele mai vechi au o restrictie maxima de 255 caractere care pot fi introduse in URL , desi navigatoarele noi pot procesa mai multe caractere, nu putem fi siguri ca toti vizitatorii vor folosi navigatoare noi sau vechi.
In plus , vom trimite catre scriptul de procesare si o adresa e-mail , nu am dori ca aceasta adresa sa apara in URL , fiind salvata in historialul de navigare .
<?php //Script distribuit de www.rotuts.com //verificam e-mailul folosind o expresie regulara . function is_valid_email($string) { return preg_match('/^[.\w-]+@([\w-]+\.)+[a-zA-Z]{2,6}$/', $string); } //daca submid_id este egal cu 1 atunci incepem verificarea if($_POST['submit_id'] == 1) { //verificam numele, daca este NULL ( campul este gol ) atunci ... if($_POST['nume'] == NULL) { //stocam in variabila $message mesajul . $message ="Trebuie sa va scrieti numele"; } //verificam daca s-a introdus e-mail-ul, daca variabila $message este goala ( deci nu s-au gasit erori la verificarea numelui ) si functia de validare pentru e-mail este falsa , atunci ... if($message == NULL && is_valid_email($_POST['email']) == false) { $message = "Introduceti o adresa de e-mail valida"; } //verificam mesajul if($message == NULL && $_POST['mesaj'] == NULL ) { $message = "Trebuie sa scrieti un mesaj"; } } //daca variabila $message nu este goala , atunci aratam eroarea prin intermediul unui DIV , se poate folosi CSS pentru o mai buna prezentare a acestui DIV. if($message != NULL ){ ?> <div><?=$message;?>&/div> <br/> <?php } ?>
<?php //Script distribuit de www.rotuts.com //verificam e-mailul folosind o expresie regulara . function is_valid_email($string) { return preg_match('/^[.\w-]+@([\w-]+\.)+[a-zA-Z]{2,6}$/', $string); } //daca submid_id este egal cu 1 atunci incepem verificarea if($_POST['submit_id'] == 1) { //verificam numele, daca este NULL ( campul este gol ) atunci ... if($_POST['nume'] == NULL) { //stocam in variabila $message mesajul . $message ="Trebuie sa va scrieti numele"; } //verificam daca s-a introdus e-mail-ul, daca variabila $message este goala ( deci nu s-au gasit erori la verificarea numelui ) si functia de validare pentru e-mail este falsa , atunci ... if($message == NULL && is_valid_email($_POST['email']) == false) { $message = "Introduceti o adresa de e-mail valida"; } //verificam mesajul if($message == NULL && $_POST['mesaj'] == NULL ) { $message = "Trebuie sa scrieti un mesaj"; } } //daca variabila $message nu este goala , atunci aratam eroarea prin intermediul unui DIV , se poate folosi CSS pentru o mai buna prezentare a acestui DIV. if($message != NULL ){ ?> <div><?=$message;?>&/div> <br/> <?php } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" name="form" onsubmit="return ValidareForm(this);" method="post"> <label>Name <br /> <input type="text" name="nume" value="<?php $_POST['nume'];?>" /> </label><br /> <label>E-mail <br /> <input type="text" name="email" value="<?php $_POST['email'];?>" /> </label><br /> <label>Mesaj <br /> <textarea name="mesaj" cols="100"><?php $_POST['mesaj'];?></textarea> </label><br /><br /> <input type="submit" name="submit" value="Go"/> <input name="submit_id" type="hidden" id="submit_id" value="1"> </form>
Observati ca nu avem DOCTYPE , nu avem tag-urile de inceput de HTML, HEAD sau BODY.
O asemenea codare isi are foloasele , doarece acest formular poate fi folosit pe mai multe pagini.
Pentru a introduce acest formular pe o pagina "normala" trebuie scrisa urmatoarea linie de cod , pe pagina unde doriti sa il introduceti.Trebuie sa fie pagina .PHP.
<?php @include_once("locatia formularului");?>
Pe fiecare pagina pe care inserati formularul, nu uitati sa inserati de asemenea si scriptul javascript folosind :
<script type="text/javascript" src="locatiaScriptuluiJs.js"></script>
Citeste in continuare ultima parte din aceasta serie , in sfarsit ceea ce am asteptat cu totii, Serie Tut : 3/3 Trimiterea datelor colectate la adresa de email sau intoarce-te la Serie Tut : 1/3 Validarea unui Formular cu JavaScript.
Da si tu un like
Tweet
Daca ti-a fost folositor acest tutorial/articol, poti copia urmatorul cod pe pagina ta
Comenturi
0 comenturi pana acum... (posteaza si tu)