Verdens syvende underverk
Første gang man setter igang med PHP og MySQL kan det hele virke overveldende.
Spesielt hvis du i tillegg ikke har erfaring med HTML. Men faktum er at dette er
antagelig den enkleste løsningen du finner, men samtidig svært skalerbar og stabil
- og som om ikke det er nok er det også gratis. I kildekoden på side 1 var det
referert til $PHP_SELF, som inneholder adressen til den siden du er på:
/php/medlem_3.php er denne sidens $PHP_SELF. Så når vi ber
skjemaet sende informasjonen til $PHP_SELF sender den informasjonen tilbake til seg selv!
Har dette noen hensikt? Jepp.
Hensikten med å peke til seg selv
Her kommer litt PHP-kode igjen, og den skal inn HELT først i dokumentet:
<?php if ($submit) {
Denne linjen sier at hvis variablen submit er satt (altså hvis brukeren har
trykket på knappen med navnet "submit") så skal vi utføre følgende kode:
//
// Sette inn data i databasen
// bytt ut <XXXX> med riktig informasjon
//
$db = mysql_connect(<SERVERNAVN>,<BRUKERNAVN>,<PASSORD>);
mysql_select_db(<DATABASENAVN>, $db);
$sql = "INSERT INTO medlem VALUES ( '$navn', '$passord', '$epost', '$avatar' )"
$result = mysql_query($sql, $db);
Her bør man jo gi en tilbakemelding av noe slag basert på $result variabelen,
som forteller om registreringen var vellykket eller ikke. Dette skriptet er veldig
enkelt, og tillater flere brukere med samme brukernavn, så du kan forsøke å tenke
ut en løsning på dette. En veldig enkel løsning er å bruke databasens innebyggete
unik-funksjon, som gjør at man ikke kan ha flere rader med samme verdi i den aktuelle
kolonnen. Uansett, nå er den biten som skal vises i tilfelle submit ferdig, så la oss
si fra til PHP-motoren ved å skrive
} else { ?>
som kort og godt betyr at i andre tilfeller så skriver vi følgende. ?> betyr fortsatt
at nå går vi fra PHP til vanlig HTML. Og her har
du jo allerede mange linjer kode, som vi nå bare hopper elegant over og går helt
til siste linje i dokumentet. Der må vi fortelle at nå, nå er det faktisk slutt på
blokk to, og det markeres med en krøllparentes:
<?php } ?>
Sånn! Nå har du laget to sider i én. Hvis brukeren åpner siden, får han opp
bit to ( det som står etter else { ). Når han trykker på "Registrer meg"-knappen,
får han opp den andre biten. Det er ingenting som hindrer deg fra å lage hele
webområdet ditt på denne måten, men det har sine ulemper også. For eksempel vil aldri
søkemotorer finne frem til all informasjonen, hvis den ligger inne i én fil. Dessuten
vil du etterhvert ha problemer med å finne frem i kildekoden, nesten uavhengig av hvor
pent du koder.
:.forrige
|