Søk i nettnett.net:
torsdag 24. juli, 2008 @ 06:32:07
Innhold

:.Forum.:
:.Epost.:

:.Webdesign.:
 »Grunnleggende html
 »CSS commands (EN)
 »Introduction to css (EN)

:.PHP.:
 »Hva er php?
 »Grunnleggende php
 »Lag et medlems-script

:.Diverse.:
 »Explorer Innstillinger

:.Musikk.:
 »Jezebel
 »Dream Theater
 »Spock's Beard
 »Flower Kings
 »7for4

:.Om nettnett.net.:
 »Kontaktskjema



Warning: include(./siste5.php) [function.include]: failed to open stream: No such file or directory in /home/nettnet1/public_html/inkludert/topp.php on line 109

Warning: include() [function.include]: Failed opening './siste5.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/nettnet1/public_html/inkludert/topp.php on line 109
Medlemsscript

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