/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Multiarray som formelement
Fra : Michael Rasmussen


Dato : 05-11-01 03:42

Hej NG,

Har et problem med ovenstående problematik.
ønskes:
php skal generere en form på en htmlside. I formen skal en række felter
gentages i rækker - de samme felter går igen i hver række. Det indtastede
i hvert felt skal gemmes i et array.
problem:
Da nogle felter har valgtfrit input, og andre er checkboxe, giver det et
problem, da ikke udfyldte felter ikke bliver medtaget i array'et.
eksempel:
tekstfelt[]: tekstfelt("navn1", "navn2").
checkbox[]: checkbox("on").
problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
at jeg ved det.

Hvordan kan dette løses?
--
Hilsen/Sincerely
Michael Rasmussen
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail

 
 
Thor Dreier (05-11-2001)
Kommentar
Fra : Thor Dreier


Dato : 05-11-01 04:01

"Michael Rasmussen" <mir@datanom.net> wrote in message
news:pan.2001.11.05.03.42.08.277.1477@datanom.net...
> tekstfelt[]: tekstfelt("navn1", "navn2").
> checkbox[]: checkbox("on").
> problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
> sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
> at jeg ved det.

I stedet for noget i retningen af:
<input name="checkbox[]">
kunne du sørge for at når du skrev dem ud, at de hver fik et fortløbende
nummer:
<input name="checkbox[1]">

På den måde vil det være muligt at holde styr på dem.



Morten Bakkedal (05-11-2001)
Kommentar
Fra : Morten Bakkedal


Dato : 05-11-01 13:22

Thor Dreier wrote:

> I stedet for noget i retningen af:
> <input name="checkbox[]">
> kunne du sørge for at når du skrev dem ud, at de hver fik et
> fortløbende nummer:
> <input name="checkbox[1]">

Desværre er ovenstående ikke gyldig HTML:

"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
colons (":"), and periods (".")."

http://www.w3.org/TR/html401/types.html#type-cdata

--
Morten Bakkedal
http://www.bakkeland.dk/



Malte von Sehested (05-11-2001)
Kommentar
Fra : Malte von Sehested


Dato : 05-11-01 13:23

I desto mindre virker det fint i både IE og NS...

/Malte

"Morten Bakkedal" <bakkeland@yahoo.dk> skrev i en meddelelse
news:3be68460$0$217$edfadb0f@dspool01.news.tele.dk...
> Thor Dreier wrote:
>
> > I stedet for noget i retningen af:
> > <input name="checkbox[]">
> > kunne du sørge for at når du skrev dem ud, at de hver fik et
> > fortløbende nummer:
> > <input name="checkbox[1]">
>
> Desværre er ovenstående ikke gyldig HTML:
>
> "ID and NAME tokens must begin with a letter ([A-Za-z]) and may be
followed
> by any number of letters, digits ([0-9]), hyphens ("-"), underscores
("_"),
> colons (":"), and periods (".")."
>
> http://www.w3.org/TR/html401/types.html#type-cdata
>
> --
> Morten Bakkedal
> http://www.bakkeland.dk/
>
>



Morten Bakkedal (05-11-2001)
Kommentar
Fra : Morten Bakkedal


Dato : 05-11-01 13:31

Malte von Sehested wrote:

> I desto mindre virker det fint i både IE og NS...

Ja, og PHP fortolker det også som man ville forvente; den lægger det ind i
et array. Ikke destro mindre står der eksplicit, at det ikke er gyldig HTML.
Der burde altså ikke være plads til nogen fortolkning.

--
Morten Bakkedal
http://www.bakkeland.dk/



Malte von Sehested (05-11-2001)
Kommentar
Fra : Malte von Sehested


Dato : 05-11-01 13:31

Det er samme array-syntax som JavaScript bruger (og MS knapt så
standardiserede udgave af samme i øvrigt også bruger). Så gad vist om ikke
det er der grunden til dette brud på standarden ligger begravet...

/Malte

"Morten Bakkedal" <bakkeland@yahoo.dk> skrev i en meddelelse
news:3be6867b$0$264$edfadb0f@dspool01.news.tele.dk...
> Malte von Sehested wrote:
>
> > I desto mindre virker det fint i både IE og NS...
>
> Ja, og PHP fortolker det også som man ville forvente; den lægger det ind i
> et array. Ikke destro mindre står der eksplicit, at det ikke er gyldig
HTML.
> Der burde altså ikke være plads til nogen fortolkning.
>
> --
> Morten Bakkedal
> http://www.bakkeland.dk/
>
>



Mogens Meier Christe~ (29-11-2001)
Kommentar
Fra : Mogens Meier Christe~


Dato : 29-11-01 12:17


> Ja, og PHP fortolker det også som man ville forvente;

Øh, nej! Jeg har erfaringer for at tal-indices ikke kommer i den
rækkefølge som indices angives, men i den rækkefølge de forekommer!

Eks:

navn[1]=1
....
navn[0]=0

Her får jeg at navn[0]=1 og navn[1]=0, i hvert fald gjorde jeg med
PHP4.04, ved ikke om jeg stadig gør...





Peter Brodersen (05-11-2001)
Kommentar
Fra : Peter Brodersen


Dato : 05-11-01 18:37

On Mon, 5 Nov 2001 13:22:13 +0100, "Morten Bakkedal"
<bakkeland@yahoo.dk> wrote:

>Desværre er ovenstående ikke gyldig HTML:
>
>"ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
>by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
>colons (":"), and periods (".")."
>
>http://www.w3.org/TR/html401/types.html#type-cdata

Du har misforstået noget. NAME er en SGML-definitionen, som ikke har
noget med "navne-sammenfaldet" med attributten "name" at gøre. "name"
er af typen CDATA og ikke af typen NAME.

Check: <news:x5rc7.762$uI6.66466@news000.worldonline.dk>

Med andre ord er det ikke ugyldig HTML.

--
- Peter Brodersen

Morten Bakkedal (05-11-2001)
Kommentar
Fra : Morten Bakkedal


Dato : 05-11-01 19:56

Peter Brodersen wrote:

> Du har misforstået noget. NAME er en SGML-definitionen, som ikke har
> noget med "navne-sammenfaldet" med attributten "name" at gøre. "name"
> er af typen CDATA og ikke af typen NAME.
>
> Check: <news:x5rc7.762$uI6.66466@news000.worldonline.dk>
>
> Med andre ord er det ikke ugyldig HTML.

Du har ret. Jeg var for hurtigt ude.

--
Morten Bakkedal
http://www.bakkeland.dk/



Michael Rasmussen (05-11-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 05-11-01 21:46

On Mon, 05 Nov 2001 03:42:08 +0100, Michael Rasmussen wrote:

> Hej NG,
>
> Har et problem med ovenstående problematik. ønskes: php skal generere en
> form på en htmlside. I formen skal en række felter gentages i rækker -
> de samme felter går igen i hver række. Det indtastede i hvert felt skal
> gemmes i et array. problem:
> Da nogle felter har valgtfrit input, og andre er checkboxe, giver det et
> problem, da ikke udfyldte felter ikke bliver medtaget i array'et.
> eksempel:
> tekstfelt[]: tekstfelt("navn1", "navn2"). checkbox[]: checkbox("on").
> problemet er, at man ikke kan vide, om <on> i array'et checkbox knytter
> sig til <navn1> eller <navn2> i tekstfelt, og det er af vital betydning,
> at jeg ved det.
>
> Hvordan kan dette løses?
Tak til alle for bidrag. Løsningen var lidt i stil med Thors forslag.

<?
$rows = $antal_elementer_i_formfelt;
echo "<form action=parse.php>";
for ($i=0;$i<$rows;$i++){
   echo "<input type=text name=felt[$i]>";
   echo "<input type=checkbox name=check1[$i]>";
   echo "<input type=checkbox name=check2[$i]>";
   echo "<input type=submit value=send>";
}
echo "</form>";
?>

variablene hentes så ud i parse på følgende måde:

<?
for ($i=0;$i<$rows;$i++){
   $current_felt = $felt[$i];
   $current_check1 = $check1[$i];
   $current_check2 = $check2[$i];
}

--
Hilsen/Sincerely
Michael Rasmussen
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail

Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408670
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste