PDA

Pogčedajte punu verziju : <input> array


misk0
24. 06. 2008., 23:15
Upload vise fajlova se radi potpuno isto kao i upload jednog fajla, samo ponovis postupak za svaki uploadovani fajl... zgodno je da file inpute nazoves kao niz, tipa
<input type="file" name="fajlovi[]" /> jer onda mozes da ih handlujes u petlji...


Bas sam danas ovako nesto radio sa JSom i kontao ovo koristiti (niz) ali nisam skontao 'zasto'? Dinamicki generishem broj <input type="text"> polja koji trebam kasnije da lakse procitam pomocu POST ili GET, ali nisam se danas mogao sjetiti, zasto bih koristio niz?
Napravio sam nesto kao

for (i=0; i<10; i++)
<input type="text" name="inputfield_"+i>


U cemu je ovo sto sam napravio losije od koristenja niza?
Mislim, ionako cu ovo iscitati sa

$i=0;
while (isset(inputfield_+$i) {
$nekavalue = $_GET[inputfield_.$i];
i++;
}


nemojte se kaciti za syntax error, pisao sam cisto 'genericki'

Ilija Studen
24. 06. 2008., 23:22
Možeš da koristiš asocijativne nizove:

Title: <input name="article[title]" />
Body: <textarea name="article[body]"></textarea>

Naš framwork to kupi ovako:

$article = new Article();
try {
$article->setAttributes($_POST['article']);
$article->save();
} catch(Exception $e) {
die('Failed to save article. Reason: ' . $e->getMessage());
}

Dosta je fleksibilno rešenje. Trebalo bi mi malo više vremena da objasnim u detalje šta se tu dešava, ali nama ovo baš lepo radi posao i bilo bi nezgodno da ne dobijamo asocijativni niz iz forme...

Takođe, tvoje rešenje očekuje 1..n inpute. Često ti ne treba redni broj, ali možeš da imaš "rupe" u nizu (kada možeš dinamički da dodaješ ili oduzimaš polja).

cvele
25. 06. 2008., 09:08
Upravo tako, glavni razlog je sto kasnije mozes da upravljas poslatim nizom i iz njega brises elemente, jer recimo petlji foreach nije bitan brojac (odnosno da isti ide redom).

misk0
25. 06. 2008., 19:21
hvala obojici.