Just nu i M3-nätverket
Gå till innehåll

.php? länk...


djsringup

Rekommendera Poster

Hej!

Mitt problem är hur man gör om man vill skicka flera variabler genom en vanlig länk till en php-sida...

 

Jag vet hur man skickar en variabel (restaurang) :

test.php?bransch=Restaurang

 

Men hur skriver jag om jag vill skicka flera, t.ex restaurang,mat,nöje) :

 

 

Hjälp mig någon!

 

MvH

Daniel Johansson

 

Länk till kommentar
Dela på andra webbplatser

Tack för hjälpen men det var inte så jag menade, tyvärr.

 

Jag menar att bransch skall vara antingen restaurang,mat,nöje (eller två av dem, eller alla tre)

t.ex :

 

test.php?bransch=RestaurangORbransch=MatORbransch=Nöje

(jag vet att det är fel men det kanske blir lättare att förstå mig)

 

MvH

Daniel

 

Länk till kommentar
Dela på andra webbplatser

 

Det verkar inte fungera, den väljer bara det sista av alternativen oavsett vilken jag sätter...

 

(Ex Nöje)

test.php?bransch=Restaurang&bransch=Mat&bransch=N%f6je

(Ex Mat)

test.php?bransch=Restaurang&bransch=N%f6je&bransch=Mat

 

Länk till kommentar
Dela på andra webbplatser

Svaret är att man helt enkelt inte gör på det sättet.

 

Alternativ 1 är att döpa fälten till "bransch[]". De kommer då att sparas som en matris i PHP.

Alternativ 2 är att döpa fälten till "bransch1", "bransch2", osv.

Alternativ 3 är att mha JavaScript lägga ihop alla val till en variabel.

 

Jag föreslår alternativ 2, då man vet att det alltid komemr fungera, oavsett vilken webbläsare besökaren använder. Alternativ 1 borde också alltid fungera, men jag är inte riktigt lika säker. En dåligt skriven webbläsare kanske väljer att bara skicka med en variabel en gång.

 

[Redigerat] Nu fick IE spatt och trodde Eforum var på kinesiska igen. Nåväl, kirrat nu...

 

[inlägget ändrat 2003-01-31 17:22:45 av Cariad]

Länk till kommentar
Dela på andra webbplatser

Typiskt!

Hade varit så mycket enklare på det sättet jag ville, men men...

 

Tack för hjälpen iaf!

 

MvH

Daniel

 

Länk till kommentar
Dela på andra webbplatser

En grej till:

Själv brukar jag i så liten utsträckning som möjligt skicka med sträng-variabler i URI:er.

Det finns några nackdelar med att göra det:

- Adressen blir längre.

- Som resultat av att adressen blir längre krävs det överföring av större mängd data.

- Till sist förlorar man i exekveringshastighet om PHP ska leta igenom långa GET-strängar, och tilldela variabler.

 

Jag brukar göra så att jag definierar konstanter på servern istället, och skickar med ett siffervärde.

Om man då gör detta på bit-vis, så kan du ju skicka med alla dessa i samma variabel också:

define("BRANSCH_RESTAURANG", 1);
define("BRANSCH_NÖJE", 2);
define("BRANSCH_MAT", 4);
define("BRANSCH_KLUBB", 8);

Så säger vi att $_GET["bransch"] = 7 (dvs restaurang,nöje,mat):

if ($_GET["bransch"] & BRANSCH_RESTAURANG) echo "Restaurang";
if ($_GET["bransch"] & BRANSCH_NÖJE) echo "Nöje";
if ($_GET["bransch"] & BRANSCH_MAT) echo "Mat";
if ($_GET["bransch"] & BRANSCH_KLUBB) echo "Klubb";

Hoppas du förstår vad jag menar... ;)

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...