djwawa Skrevet 16. september 2008 Del Skrevet 16. september 2008 Hei! Dette er sikkert ett dumt spørsmål og alt sånn, men spør fordi jeg ikke klarer det. Jeg driver å lager en nettside som skal være for en bondegård. Den er laget på den måten at jeg har en <div> som inneholder "innholdet" på hver side. Og dette vil være MySQL informasjon. Hvis noen skjønte det? Kan forklare med bilder! Der den svarte firekanten er, vil innholdet være, som blir lastet fra en MySQL database. Jeg har laget en header.php, en footer.php og en navigasjon.php (nav.php) og inkludert disse sidene med hjelp av <?php require("FILEN"); ?> Men det jeg lurte på er: Hvordan kan jeg lage ett system som fungerer ved at det eneste man laster, når man trykker på en link er innholdet? Da tenker jeg på at nettadressen blir noe sånn som www.nettadresse/index.php?side=forside Og hvis man trykker på nyheter så kommer det www.nettadresse/index.php?side=nyheter Og disse skal da åpne seg i den rammen som er i bildet over. Slenger også med kildekoden til index.php filen min, om det blir lettere og se sammenhengen da etc? <?php require("header.php"); require("nav.php"); ?> <div id="innhold"> <?php $result = mysql_query("SELECT * FROM start WHERE id='1'"); $row = mysql_fetch_array($result) or die(mysql_error()); echo '<h2>'. $row['overskrift'] .'</h2>'; echo '<br>'. $row['tekst'] .'</font>'; echo '<h5><br><br>Sist endret: '. date('d.m.Y', $row['dato']) .'</font>'; ?> </div> <?php require("footer.php"); ?> Håper noen kan hjelpe meg! Tusen takk! Lenke til kommentar
Jonas Skrevet 16. september 2008 Del Skrevet 16. september 2008 (endret) Det du leter etter går ofte under navnet include-script. (Google it) Merk bruken av escaping. (Google sanitize input mens du er i gang) <?php require("header.php"); require("nav.php"); ?> <div id="innhold"> <?php $result = mysql_query("SELECT * FROM start WHERE id='" . mysql_real_escape_string ( $_GET['side'] ) . "'"); $row = mysql_fetch_array($result) or die(mysql_error()); echo '<h2>'. $row['overskrift'] .'</h2>'; echo '<br>'. $row['tekst'] .'</font>'; echo '<h5><br><br>Sist endret: '. date('d.m.Y', $row['dato']) .'</font>'; ?> </div> <?php require("footer.php"); ?> Endret 16. september 2008 av Jonas Lenke til kommentar
djwawa Skrevet 16. september 2008 Forfatter Del Skrevet 16. september 2008 Takk! Det hjalp masse! Men nå når jeg går inn i siden www.domene/index.php så blir det feltet der den svarte firekanten er hvitt. Det kommer ikke frem noe tekst før jeg skriver inn: www.domene/index.php?side=Forside Hva kan jeg gjøre så www.domene/index.php?side=Forside, er det som vises når man går på www.domene/index.php ? Slenger med koden jeg brukte nå for å få det til å fungere: <?php require("header.php"); require("nav.php"); ?> <?php if ( $_GET['side'] == "Nyheter" ) { include("nyheter.php"); } elseif ( $_GET['side'] == "Forside" ) { include "forside.php"; } ?> <?php require("footer.php"); ?> Takker for hjelp! Lenke til kommentar
Jonas Skrevet 16. september 2008 Del Skrevet 16. september 2008 isset() er hva du leter etter. Ta også en titt på switch-statements, muligens noe lettere å bruke enn en hel haug med if-setninger. <?php require("header.php"); require("nav.php"); ?> <?php if ( !isset ( $_GET['side'] ) ) { include("Forside.php"); } elseif ( $_GET['side'] == "Nyheter" ) { include("nyheter.php"); } elseif ( $_GET['side'] == "Forside" ) { include "forside.php"; } ?> <?php require("footer.php"); ?> Lenke til kommentar
djwawa Skrevet 17. september 2008 Forfatter Del Skrevet 17. september 2008 (endret) Tusen hjertelig takk for hjelpen! Supert at man får så raske svar:) Takk igjen Jonas! Og alt virker nå som det skal:) Endret 17. september 2008 av djwawa Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå