Med variablerna $goto och $lang styr man vad som ska includeras. Med denna typ av skrivningar hämtas koden vanligtvis från en databas men det går också bra med include-filer.
------------------
Fiskesällskapet Salamander
7 svar · 397 visningar · startad av zipp3r
hej hej
såg på en annan sida detta
i adressraden index.php?goto=1&lang=se
och då undrar jag hur man gör så för detta fungerar ju smidigare om man har två språk på hemsidan eller?
hur gör man ett sådant dokument? enkelt bara....
------------------
signatur?
Med variablerna $goto och $lang styr man vad som ska includeras. Med denna typ av skrivningar hämtas koden vanligtvis från en databas men det går också bra med include-filer.
------------------
Fiskesällskapet Salamander
Nja, använd inte $goto och $lang utan se till att köra med $HTTP_GET_VARS['goto'] och $HTTP_GET_VARS['lang']. Det finns en viss säkerhetsfaktor i det.
I PHP 4.1 (helt ny) så fungerar inte ens de snabba variablerna ($goto & $lang) utan de är utbytta mot $_GET[goto] och $_GET[lang]. I den nya versionen behöver dessa inte heller importeras som globala variabler. :)
------------------
de'nim
Kim, nu får du förklara dig. Går det inte längre och hämta ner variabler ur querystrings på det gamla goda sättet?
------------------
<A HREF="mailto:chavez@post.netlink.se">Mvh Chavez
</A> UIN: 73975020
http://www.php.net/release_4_1_0.php
http://forums.devshed.com/showthread.php?s=1d9fac8dc38c4e7355ac5378cee3d67d&threadid=20525&forumid=5
------------------
Det händer att jag inte är mig själv. Då är jag någon annan.
[Redigerat av oelbal den 03 jan 2002]
Efter lite frågor tar jag det här en gång till.
Det är idag möjligt att hämta variabler ur querystringen ?goto=1&lang=se enbart med hjälp av $goto och $lang. Värdena på dessa variabler blir 1 respektive se.
Så är det nu och så har det alltid varit. Däremot ligger det en säkerhetsrisk i att hämta variabler på detta viset (se denna länk för mer info om säkerhetsriskerna).
Därför ska man alltid använda $HTTP_GET_VARS[] när man hämtar värden ur en querystring, i det här fallet skulle man göra så här för att skriva ut texten se: echo $HTTP_GET_VARS['lang'];
I nya versionen är möjligheten att hämta variablerna snabbt, d.v.s. genom att enbart skriva $goto resp. $lang, borttagen. Anledningen är, som jag skrev tidigare, att det föreligger vissa risker med detta förfarande.
Men för att man ska slippa skriva $HTTP_GET_VARS['goto'] varje gång man vill få ut värdet, så har man gjort det lite kortare så numera räcker det med $_GET['goto'] för att få fram värdet för goto i querystringen.
Blev det klarare nu?
Om jag har fattat rätt så är det inte så att man tagit bort några funktioner, utan man har lagt till nya för att underlätta kodningen för dem som tänker på säkerheten.
Att hämta variabler på det "gamla" s.k. snabba sättet har väl att göra med om man har global on eller off.
Gör man en helt ny installation så är global avstängd men uppgraderar man en befintlig installation, så gäller tidigare inställningar.
Såg i en av ovanstående länkar att någon gav ett rätt bra tips.
Om man använder nya versionen och inte vill ha global påslagen (eller om ens host inte har det) så kanske det är en hel del arbete som väntar om man måste koda om massor med sidor.
Tydligen (enligt tipset i länken) så kan man läggga till raderna
extract($_GET)
extract($_POST)
i skriptet och på så sätt få sina värden även om global är avstängt.