Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provjeravanje popunjenosti polja u formi

[es] :: PHP :: Provjeravanje popunjenosti polja u formi

[ Pregleda: 1481 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

peromalosutra
Ivan Rajkovic
Software engineer
Berlin

Član broj: 54774
Poruke: 878
*.teol.net.



+148 Profil

icon Provjeravanje popunjenosti polja u formi31.12.2007. u 13:02 - pre 199 meseci
Pravim neki manji CMS i zapeo sam na veoma glupoj i iritantnoj sitnici. Znači imam neku admin formu koja sluzi za uplodovanje novog sadržaja na sajt i funkciju insert koja ubacuje sadržaj. Da bi uploadovanje bilo uspješno moraju sva polja u formi da budu popunjena i upravo to bi trebalo da provjerava ovaj if uslov. Medjutim on uvijek vrati TRUE (tj. uvijek se poziva f-ja insert) bez obzira da li je neko polje ostavljeno prazno.

Code:

/* ako podaci nisu popunjeni prikaži formu, inače ih ubaci u bazu */
if (isset($_POST['naslov']) and isset($_POST['opis']) and isset($_POST['tekst']) and isset($_POST['kategorija']) and isset($_POST['link']))
    insert($_POST['naslov'], $_POST['opis'], $_FILES['tekst']['tmp_name'], $_POST['kategorija'], $_POST['link'], $_SESSION['username']);
else
    forma();


Ovako izgleda sama forma:

Code:

<form action= <?php echo substr(strrchr($_SERVER['PHP_SELF'],"/"),1) ?> method="post"; >
    Naslov članka: <input type="text" name="naslov"> <br />
    Kategorija: <input type="text" name="kategorija"> <br />
    Link: <input type="text" name="link"> <br />
    Kratak opis: <input type="text" name="opis"> <br />
    Putanja do sadržaja: 
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <input type="file" name="tekst" /> <br />
    <input type="submit" value="pošalji">
    </form>


Pokušao sam onaj gore uslov napisati i malo drugačije, kao

Code:

if (!isset($_POST['naslov'] or !isset($_POST['opis']) ...


ali se ništa ne mijenja.
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Berlin

Član broj: 54774
Poruke: 878
*.teol.net.



+148 Profil

icon Re: Provjeravanje popunjenosti polja u formi31.12.2007. u 13:33 - pre 199 meseci
Da sam sebi odgovorim, stavio sam
Code:
/* ako podaci nisu popunjeni prikaži formu, inače ih ubaci u bazu */
if (!empty($_POST['naslov']) and !empty($_POST['opis']) and !empty($_POST['tekst']) and !empty($_POST['kategorija']) and !empty($_POST['link']))
    insert($_POST['naslov'], $_POST['opis'], $_FILES['tekst']['tmp_name'], $_POST['kategorija'], $_POST['link'], $_SESSION['username']);
else
    forma();

i tako radi, ali i dalje mi nije jasno zašto nije radio onaj prvi način.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: Provjeravanje popunjenosti polja u formi31.12.2007. u 13:46 - pre 199 meseci
Da si u form/method stavio "get", pritiskom na submit bi video da su svi "text" inputi ipak preneti (definisani) iako sa vrednošću praznog stringa. Dakle trebao si da testiraš dali je njihova vrednost različita od "".

Treba da znaš šta su uspešne a šta neuspešne kontrole (mislim da se u školama to tako zove).
Kontrola je uspešna ako prilikom submita prenese neku vrednost pa makar bila i prazan string.

Dakle,
checkbox-ovi će biti uspešni ako su bili čekirani pre submita,
radio dugmad su sva neuspešna osim onog jednog koji je selektovan,
text polja su uvek uspešna, isto i textarea i hidden,
dugme su uspešno samo kad se submit okinut priskom na njega, a ne recimo javaskriptom ili drugim dugmetom.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Berlin

Član broj: 54774
Poruke: 878
*.teol.net.



+148 Profil

icon Re: Provjeravanje popunjenosti polja u formi31.12.2007. u 14:47 - pre 199 meseci
Hvala na pomoći, zato sam i stavio ovu provjeru sa empty jer sam mislio da je nešto takvo u pitanju, ali nisam bio siguran.
 
Odgovor na temu

[es] :: PHP :: Provjeravanje popunjenosti polja u formi

[ Pregleda: 1481 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.