Abnorm Skrevet 21. januar 2011 Del Skrevet 21. januar 2011 Skal forsøke meg på en hjemmeside. Har nå laget noen tabeller, men hvordan kan jeg skifte innholdet i disse? Dvs. den ene tabellen virker som en meny og den andre skal vise innholdet på siden. Håper dere skjønte hva jeg mente. Lenke til kommentar
stiansa Skrevet 22. januar 2011 Del Skrevet 22. januar 2011 (endret) Har du en database og et admin-interface? Eller skal du redigere HTML-sidene dine manuelt? Hvis du skal ha mange sider på nettstedet ditt, så er det å foretrekke å ha en dynamisk tilnærming til det hele. Det vil si at du har kun én "mal" eller rammeverk, og så bruker du script (enten ASP, ASP.NET eller PHP) til å hente innhold fra databasen og fylle inn i tabellene som du sier. Det er nesten umulig å fortelle hvordan dette gjøres i ett enkelt foruminnlegg, men du kan jo kikke litt her: ASP: http://www.w3schools...asp/default.asp ASP.NET: http://www.w3schools...net/default.asp PHP: http://www.w3schools...php/default.asp Hvilken av de tre du skal bruke avhenger av serveren nettstedet ditt ligger på. Er det en Microsoft-server, så er det ASP eller ASP.NET som er tingen. Hvis det er en linux-server som kjører apache, så er det PHP. ASP er vel for så vidt utdatert, og ASP.NET har tatt over. Jeg kan bare ingenting om ASP.NET, og tviholder derfor på ASP eller klassisk ASP, som det kalles. Starter du fra scratch, så er det ASP.NET du skal begynne med. Men: Hvis du bare skal lage en kjapp side som ikke skal oppdateres så ofte, og du aldri har hørt om database, ASP eller PHP, så er det nok greiest å droppe hele server-script-greia og bare redigere de enkelte HTML-filene manuelt. Et enkelt eksempel på index.html (hovedsiden "Hjem"): <html> <head><title>Min hjemmeside dot com</title></head> <body> <table width="100%"> <tr> <td colspan="2" bgcolor="blue"><h1><font color="yellow">Min hjemmeside dot com</font></h1></td> </tr> <tr> <td width="150"> <a href="index.html">Hjem</a><br> <a href="omMeg.html">Om meg</a><br> <a href="cv.html">Min CV</a> </td> <td> <h2>Velkommen til min hjemmeside</h2> Klikk på linkene i menyen til venstre for å se på de andre sidene... </td> </tr> </table> </body> </html> For å lage de andre sidene oppretter du bare nye tekstfiler og kaller dem omMeg.html og cv.html, og bytter ut innholdet der hvor det står Velkommen til min hjemmeside. Bruk av tabeller er regnet for å være dårlig webdesign, og gjør sidene tyngre å laste inn, og vanskeligere for søkemotorer å indeksere. Derfor har CSS (Cascading Style Sheets) tatt over. Her er den samme siden som over, men med bruk av CSS: <html> <head> <title>Min hjemmeside dot com</title> <style type="text/css"> .overskrift{ position : absolute; top : 0px; left : 0px; width : 100%; height : 50px; background-color : blue; color : yellow; } .meny{ position : absolute; top : 50px; left : 0px; width : 150px; } .innhold{ position : absolute; top : 50px; left : 151px; width : 850px; } </style> </head> <body> <div class="overskrift"><h1>Min hjemmeside dot com</h1></div> <div class="meny"> <a href="index.html">Hjem</a><br> <a href="omMeg.html">Om meg</a><br> <a href="cv.html">Min CV</a> </div> <div class="innhold"> <h2>Velkommen til min hjemmeside</h2> Klikk på linkene i menyen til venstre for å se på de andre sidene... </div> </body> </html> Som du ser blir koden mer ryddig og lettere å vedlikeholde, selv om det blir litt ekstra i toppen av html-fila. Det går imidlertid an å legge ut CSS-definisjonene i en egen fil som du kan kalle design.css eller noe sånt, og linke til den i html-fila slik: <html> <head> <title>Min hjemmeside dot com</title> <link rel="stylesheet" href="design.css"> </head> <body> ... osv ... CSS-fila skal da ikke inneholde html-taggen <style type="text/css"></style>, kun definisjonene som står mellom. Endret 22. januar 2011 av stiansa Lenke til kommentar
Abnorm Skrevet 22. januar 2011 Forfatter Del Skrevet 22. januar 2011 (endret) Takker så mye for godt og utfyllende svar. Skal gjøre etter beste evne å tolke de kodene dine er ikke så god på dette. Må gjøres betydlige endringer da. index.htm Eller se siden her: http://www.byggdinbolig.no/test.htm Endret 22. januar 2011 av frecjoha Lenke til kommentar
Øsse Skrevet 28. januar 2011 Del Skrevet 28. januar 2011 (endret) Jeg vil påstå man ikke trenger database for å kunne enkelt splitte opp en side i flere biter (utover det er jeg forøvrig helt enig med stiansa ang. CSS osv.). Hvis du skal lage en blogg eller en nyhetsside/nettbutikk så er det absolutt å anbefale å bruke en database, og det krever en del kunnskap. Hvis ikke så er følgende en enkel måte to enkle måter å gjøre det på: Ta alt innholdet som utgjør menyen som står mellom <td> og </td> eller mellom <div> og </div> (helst sistnevnte) og lim det inn i en ny fil som du kaller meny.html. I orginalfilene putter du inn <?php include("meny.html") ?> i stedet for i samme sted i filen. Dette krever at serveren din støtter PHP. Det gjør den sannsynligvis, men hvis den ikke gjør det så kan sikkert stiansa oversette dette til ASP Bruker du denne teknikken må du skifte navn på alle filene som henter menyen fra .html til .php. Du må også skifte navnet til meny.html hvis du putter inn noe PHP-kode der. Det kan kanskje være greit å skifte navn uansett slik at alle filene har samme etternavn. En ørlite mer avansert metode men å foretrekke (etter min mening) er at i stedet for at hver side henter inn menyen fra en annen fil, så har man bare en side som inneholder menyen og alt det andre rundt, men som inkluderer hovedinnholdet. Klipp da ut igjen det som står mellom <td> og </td> eller mellom <div> og </div> som utgjør hovedinnholdet og lim det inn i nye filer som du kaller for eksempel ommeg.html, kontakt.html, bilder.html osv. Jeg antar at du legger hovedinnholdet som er på førstesiden inn i hoved.html Mellom </head> og <body> har du dette: <?php if (!empty($_GET['page'])) { $page = $_GET['page']; } else { $page = "hoved"; } ?> Hvor dette bør ligge vet jeg ikke. Jeg tror det kan være hvor som helst så lenge det er før stedet du bruker "include". Jeg liker å legge det før <body> for å det vekk I mellom <td> og </td> eller mellom <div> og </div> har du dette: <?php include $page . ".html"; ?> Alle linkene må endres og skal da se sånn ut: <a href="index.php?page=ommeg">Om meg</a> <a href="index.php?page=kontakt">Hvordan kontakte meg</a> <a href="index.php?page=bilder">Bilder jeg har tatt</a> <a href="index.php">Tilbake til forsiden</a> Som du ser må du skifte navn på hovedsiden fra index.html til index.php. Hvis du ser nøye etter i adressefeltet så er det slik forumet fungerer. Det er stort sett bare en side som heter index.php, og hva den siden viser bestemmes av hvilken informasjon du gir den (i form av index.php?tall=7&tekst=hei osv.) Endret 28. januar 2011 av Øsse 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å