Kontakt forma - obavezno popunjavanje i validacija

pozdrav… na svojoj web stranici imam jednostavno kontakt formu (samo 4 polaj, ime, email, upit, poruka i 2 gumba “pošalji” i “odustani” ) … htio bih dodati da su sva 4 polja obavezna, da se ne može poslati dok se sva 4 polja ne popune, ako je moguće da polje za e-mail zahtjeva pravilno popunjavanje (nešto@nešto.xyz) …

ovo je kod iz index.html-a :

</div>

			</div>

			<div class="panel" title="Kontakt">

				<div class="wrapper">

					

                    <div id="contact_form">

                    

                        <form method="post" name="contact" action="sendmail.php">



                        <label for="author">Ime:</label> <input type="text" id="author" name="author" class="required input_field" />

                        <div class="cleaner_h10"></div>

                        

                        <label for="email">Email:</label> <input type="text" id="email" name="email" class="validate-email required input_field" />

                        <div class="cleaner_h10"></div>

                        

                        <label for="subject">Upit:</label> <input type="text" name="subject" id="subject" class="input_field" />

                        <div class="cleaner_h10"></div>

                        

                        <label for="text">Poruka:</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea>

                        <div class="cleaner_h10"></div>

                        

                        <input style="font-weight: bold;" type="submit" class="submit_btn" name="submit" id="submit" value=" Pošalji " />

                        <input style="font-weight: bold;" type="reset" class="submit_btn" name="reset" id="reset" value=" Odustani " />

                        

                        

                        </form>

                    </div>

a ovo je kod filea sendmail.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="0;url=http://www.xyz.xyz/#5" />
<title>sendmail</title>
</head>

<body>
</body>
</html>


<?php
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['text'] ;

  mail( "[email protected]", "Upit",
    $message, "From: $email" );

?>

eto ako netko ima vremena/volje pomoći bio bih zahvalan…

U sendmail.php stavi ovaj kod, probaj, i javi je li radi kako treba.

jquery validation, jednostavno za implementaciju, ima required polja i emal validation

http://docs.jquery.com/Plugins/Validation

@igor - radi, kada popunim sva polja pošalje na mail, kada ne popunim ne pošalje…ali ako ostavim polja prazna i klinem “pošalji” ne reagira, nego samo vrati na početnu stranicu, jednako kao kada i pošalje… znači sve radi ali korisnik ne vidi da nije uspio poslati …

@zvijer - u koji file trebam staviti taj kod sa tvog linka?

Jesi siguran da si stavio kod koji ispisuje error unutrar bodya? Ovako bi trebalo to izgledat.

kopirao sam ponovno kod, sada se pojavljuje na pola sekunde bijeli ekran s natpisom “morate popuniti sva polja” , screenshot u privitku… jedva sam uspio napraviti screenshot koliko brzo se to pojavi i nestane :smiley: … znači funkcionira, ali ako bi mogao nekako napraviti da se ta obavijest: “morate popuniti sva polja” , prikaze u malom popup-u ili negdje da se fino vidi… hvala…

Tek sam vidio da si stavio gore da se stranica refresha. Dakle, napravi ili index.php ili sendmail.php, neka ti i forma i kod za provjeru forme budu na istoj stranici. Onda ce sve bit jasnije.

Ovo možeš jednostavno ubacit kao index.php. Zaboravio sam ti reći da se funkcija eregi ne koristi od PHP verzije 5.3, pa koristi preg_match, kao što sam ti napravio gore.

u head ubacis jquery i jquery validate i ovo

$(document).ready(function(){
$( “#id_forme” ).validate();
});

i u polja forme stavis class required (class=“required”) sto vidim da vec imas samo za email ti je class=“required email”

hvala obojici, probao sam Igorovu “verziju” i sad je sve ok osim jedne stvari… kada se ne popune polja pravilno, znači kada se ne može poslati, onda samo u chromu ostane na toj stranici i izbaci obavijest “Morate popuniti sva polja. Neispravan e-mail” , dok u operi i firefoxu se vrati na početnu stranicu. Može li se to kako regulirati da kada se polja popune neispravno da se ostane ne toj stranici i da se vidi obavijest?
Hvala

[quote=“drweni”]hvala obojici, probao sam Igorovu “verziju” i sad je sve ok osim jedne stvari… kada se ne popune polja pravilno, znači kada se ne može poslati, onda samo u chromu ostane na toj stranici i izbaci obavijest “Morate popuniti sva polja. Neispravan e-mail” , dok u operi i firefoxu se vrati na početnu stranicu. Može li se to kako regulirati da kada se polja popune neispravno da se ostane ne toj stranici i da se vidi obavijest?
Hvala[/quote]

Jesi izbrisao ovu liniju:

<meta http-equiv="refresh" content="0;url=http://www.xyz.xyz/#5" />

[quote=“igor”]Jesi izbrisao ovu liniju:

<meta http-equiv="refresh" content="0;url=http://www.xyz.xyz/#5" />

[/quote]

nije bila izbrisana… ali sad sam ju izbrisao pa i dalje isto…nakon toga sam obrisao sendamil.php file jer si rekao da sve stavim u 1 file…sve sam stavio u index.html i sejvo ga kao index.php… :neznam:

Dobro si uradio, to je to, a sad nakon što si pobrisao tu liniju vjerojatno ti je stranica ostala spremljena pa izbriši cache, refreshaj (F5) stranicu i moralo bi radit, jer sam je upravo testirao kod sebe.

Radi , hvala ti puno.