PHP-skola |
|
24/08-03 | Niklas "Nicke." Berggren | f1restorm@hotmail.com
Att bolla variabler mellan sidor
Nu så, nu har du, förhoppningsvis, kunskapen att hantera variabler, du
vet vad arrays och funktioner är. Du vet hur du utför en jämförelse
mellan t.ex. två variabler. Men att skapa en sida med PHP är ofta lite
poänglöst om du inte kan ta emot data från dina besökare. Detta är det
sista jag kommer försöka lära ut.
För att en besökare ska kunna interagera med din sida måste han/hon ha någon metod att skicka data på, t.ex. via en HTML-form.
Här följer ett exempel på två sidor, den ena skickar data till den andra. Vi använder oss av ett enkelt textfält.
Först visar jag en sida du skickar data från;
<form method="post" action="mottagare.php"> <input type="text" name="skickat"> <input type="submit" value="Skicka"> </form>
Som ni ser behövs ingen PHP för att skicka data.
Här följer php-kod för filen mottagare.php för att kunna spara det som skickats i variabler.
<?php $mottaget = $_POST["skickat"]; echo $mottaget; ?>
Arrayen $_POST är en s.k reserverad array, en array som alltid finns där och trycker, även om du inte har deklarerat den själv.
Du känner nu igen ett namngivet fält i en array när du ser det, här hämtade vi datan som fanns i fältet "skickat", och sparar
I variabeln $mottaget. Hade fältet vi skickade från hetat t.ex. "data" hade det som skickats återfunnits i $_POST["data"]
POST är det vanligaste och säkraste sättet att skicka data på, ett
enklare sätt att skicka data på men som inte är lika säkert är genom
metoden GET.
GET kan användas för att skicka data via länkar, en länk som ser ut som såhär skickar GET-data;
<a href="fil.php?namn=12">Länk</a>
Du hämtar datan på samma sätt som post, fast med den fördefinerade arrayen $_GET.
Du har även en tredje enkel metod att bolla data mellan sidor med; cookies/sessioner. Den svenska staten har i all sin vishet beslutat sig för att göra användandet av cookies mycket krångligare, då bara terrorister, våldtäktsmän och annat löst folk använder dem. När du behärskar PHP lite bättre vet du också hur man undervisar sig själv, jag tänker därför lämna kapitlet cookies åt dig att lära, jag är då ingen nätterrorist.
Nu när du behärskar grunderna i PHP kommer du ha mycket lätt att lära dig själv hur det fungerar. PHP har nämligen en av tidernas bästa manual. Den är lättläst, enkel att förstå och översatt i flera språk. Behöver du t.ex. manipulera en databas? Titta på hjälpen under MySQL, MSSQL eller PostgreSQL-kapitlen i manualen. Behöver du funktioner för att leka med lokala filer eller kataloger? Ta dig en titt i "directory functions" och "filesystem functions" kapitlen.
Manualen återfinnes på addressen http://www.php.net/manual, och finns även i offline-version för oss stackare som knegar oss fram på modem.
Hur tolkar man manualen då? Jag tar här ett enkelt exempel från manualsidan för funktionen strlen().
Överst på sidan får vi en beskrivning som lyder: "strlen - Get string length". Det var väl inte svårt? Då tar vi nästa del
"int strlen (string str)" står det, vad betyder detta? jo, det ska jag
förklara. "int" innebär att funktionen skickar tillbaka en integer,
ett heltal. strlen är, som du förstår, namnet på funktionen och "string
str" står för att den förväntar sig en variabel i form av en
text-sträng. Längst ned står det "Returns the length of string."
Ofta står det ett exempel på hur man använder funktionen, just det här
exemplet visar inget exempel eftersom beskrivningen är mycket kort och
funktionen utför en så enkel syssla.
Det finns de som tycker att du borde läsa en bok om du börjar programmera/scripta i ett helt nytt språk, men ärligt talat så är PHP såpass enkelt att du inte kommer behöva en. Manualen och communityn som finns där ute är allt du nånsin behöver! tro mig!
Skulle du få problem efter att ha letat i manualen så finns det en
enorm community med PHP-kodare över globen, bland annat ett litet gäng
här på 64bits som svarar på dina ev. frågor. Men det är klart, efter
att ha läst det här har du inte längre några problem eller hur?
Ett tips bara i all välmening innan du frågar, det ser mycket bättre ut
om du visar kod som inte fungerar så att vi kan hjälpa dig felsöka
den snarare än en fråga som lyder "Hur kodar jag en gästbok i PHP"? Har
du åtminstone försökt ser det så mycket bättre ut.
« Föregående |
Utskriftsvänligare version
Diskutera denna artikeln i vårt forum!