Reading all form data - foreach

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

Dj_Andrew
PHPRomania Supporter
Mesaje: 20
Membru din: Lun Sep 06, 2010 12:46 pm
Localitate: Craiova

Reading all form data - foreach

Mesajde Dj_Andrew » Sâm Sep 11, 2010 6:25 pm

Salut, sunt incepator in php si pentru a invata folosesc cartea lui Steven Holzner tradusa.Am ajuns in prezent la pagina 158 si nu pot deloc sa inteleg un script.Poate are vreunul dintre voi timpul si bunavointa sa il exemplifice putin.
Treaba sta in felul urmator: cream un formular in care se introduc cateva date: numele (<INPUT NAME="Name" TYPE="TEXT">) si te pune sa alegi cateva fructe (<SELECT NAME="Food[]" MULTIPLE> OPTION1,2...).Pentru a afisa datele introduse este folosit urmatorul script:

<?php
foreach($_REQUEST as $key => $value){
if(is_array($value)){
foreach($value as $item){
echo $key, "=>", $item, "<BR>";
}
}
else {
echo $key, "=>", $value, "<BR>";
}
}
?>

In principu nu mai inteleg scriptul de la a 3-a linie in jos, atunci cand intervine si $item. Daca ati gasii voi o modalitate prin care sa-mi explicati ceva mai bine ar fi minunat.Multumesc!



Avatar utilizator
Xposed
Average Member
Mesaje: 143
Membru din: Mie Ian 11, 2006 9:50 pm
Contact:

Mesajde Xposed » Sâm Sep 11, 2010 7:58 pm

Pai in primu rand acolo se intampla cam asa:

Preiau valorile din variabila globala $_REQUEST(a ales variabila globala request deoarece pe ea iti vin si valorile din $_GET sau $_POST, ramanand la latitutinea ta sa alegi ce varianta alegi), parcurg fiecare valoare venita si ii preiau valoarea in variabila $value cu cheia $key, la a 3-a linie verific daca valoarea este array deoarece in primul input o sa vina string deoarece este un input de tip text cu un nume "Name" iar in select dupa cum vezi are numele Food[] ceea ce defineste ca variabila primita va fi un array care contine valorile selectate de tine. Deci se verifica la a 3-a linie daca valoarea este array, daca este array parcurge matricea si preia fiecare element facandu-i echo.

Cam asta e.

Deci daca in formular ai un select sau un bloc de inputuri de tip checkbox cu numele de tip nume[] inseamna ca tu in php vei primi un array pe care trebui sa-l tratezi ca atare.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Mesajde nevvermind » Dum Sep 12, 2010 12:16 am

Ce probabil te da pe tine peste cap este "De unde a aparut $item?". De nicaieri. O variabila se poate initialiaza la folosire.
Despre "foreach". @W3School.

Baga codul asta intr-un php si vezi ce spune. Iti dai mai bine seama asa.

Xposed scrie:$_REQUEST(a ales variabila globala request deoarece pe ea iti vin si valorile din $_GET sau $_POST

...sau $_COOKIE.

Dj_Andrew
PHPRomania Supporter
Mesaje: 20
Membru din: Lun Sep 06, 2010 12:46 pm
Localitate: Craiova

$item

Mesajde Dj_Andrew » Dum Sep 12, 2010 12:36 pm

Exact, $item a reusit sa ma bage pe mine in ceata.Deja nu mai intelegeam de unde vine $key,value, de ce apare si $item,de ce este el necesar si asa mai departe.Mersi!


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 28 vizitatori