Gå til innhold

include innhold i flere celler


Anbefalte innlegg

Hei, er det noen som kan hjelpe meg med et include-script? Det er et includescript jeg har fra mortz.

Jeg har delt opp siden v.h.a. en tabell og har hovedinnholdet i en celle, men så vil jeg ha lastet

forskjellige bilder i cellen over etter hva hovedinnholdet er. Hvordan får jeg inkludert dette bildet

etter hvilken link jeg trykker på. Et av bildene skal i tillegg være en flash fil.

Koden under er en forenklet sak, bare for å vise hva jeg mener.

 

 

 

<?php

// sjekke om brukeren er logget inn

// (last ned loginscriptet eller bruk dine egne rutiner)

session_start();

if ($_SESSION['LoggedIn']) $LoggedIn=true;

else $LoggedIn=false;

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<style type="text/css">

@import "style.css";

</style>

 

<title>testSide</title>

 

<script type="text/javascript">

 

//Her ligger et script for menyen, som jeg ikke har lagt med her for at det ikke skulle bli så mye kode

 

</script>

 

 

 

<body>

<table width="783" border="0" align="center">

<tr>

<td><img src="Pics/header.jpg"width="783" border="0" align="center"> //Denne headeren er alltid fast.

<tr>

<td></td>

</tr>

<tr>

<td>

 

// Her skal forskjellige bilder inn etter hva innholdet på linken er.

</td>

</tr>

<tr>

<td><table width="783" border="0">

<tr>

<td width="150"> // her ligger menyen i venstre celle

<a href="index.php?page=home">::home</a><br><br>

<a href="mailto:[email protected]">::e-mail</a><br><br>

<a href="index.php?page=musikk">::musikk</a><br><br>

<a href="index.php?page=gjestebok">::gjestebok</a><br><br>

<a target="_blank" href="index.php?bilder">::bilder</a><br><br>

<a href="index.php?page=undermeny" onClick="return clickreturnvalue()" onMouseover="dropdownmenu(this, event, menu1, '150px')" onMouseout="delayhidemenu()">::undermeny</a><br><br>

</td>

<td width="623">

 

<?php // her ligger includescriptet som mortz har laget. Dette er innholdet på siden.

// Det jeg trenger er at samtidig som dette innholdet blir lastet her, så blir det

// tilhørende bildet lastet i tabellcellen over.

 

 

/*** KONFIGURASJON ***/

 

$default = "home"; // fila som skal inkluderes hvis variabelen er tom.

$directory = "inc"; // mappa filene dine ligger i.

$extension = "php"; // filendingen på filene dine.

 

 

 

$page = $_GET['page'];

 

// for å hindre at det inkluderes fra uønskede plasser (stopper hackerne)

if (preg_match('/(http:\/\/|^\/|\.+?\/)/', $page)) echo "I'll h4x yuo!!1";

 

 

elseif (!empty($page)) // sjekke at variabelen ikke er tom.

{

if (file_exists("$directory/$page.$extension")) // sjekke om fila eksisterer.

include("$directory/$page.$extension"); // inkluder fila.

else // hvis ikke,

echo "<h1>Error 404</h1>\n<p>Finner ikke siden!</p>\n"; // skriv en feilmelding.

}

else // eller,

include("$directory/$default.$extension"); // inkluder fila som definert som $default

?>

 

</td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

</table>

</body>

</html>

Lenke til kommentar
Videoannonse
Annonse

Du har jo allerede et includescript. Det du kan gjøre, i og med at du ikke benytter mysql for lagring av innholdsdata;

 

Alternativ 1. Navngi filene med en fellesnevner, eksempelvis timestamp. Du navngir deretter f.eks. hovedinnhold med h, filen som inneholder bilder for b etc. Så når du har filer som heter eksempelvis 10161777_h.inc.php og 10161777_b.inc.php er de en enkel sak å inkludere ut ifra info som ligger i $_GET.

 

Alternativ 2. Lag funksjoner som skriver ut sider for deg. Eksempel:

 

Function Skriv_ut_topp($title) {

echo <<<END

<html>

<head>

..

 

<title>${title}</title>

..

<td>

 

END;

 

}

 

Du lager deretter filen din som vanlig, og bruker funksjoner som skriver ut det du har i mellom innhold;

 

<?

include('funksjonsbibliopteket.php');

Skriv_ut_topp('Min tittel');

?>

 

<h1>Første innholdsfelt</h1>

<p>Her vil jeg ha innhold</p>

 

<?

Skriv_ut_neste_del();

?>

 

Og så videre.

 

Alternativ 3. MySQL. En mye enklere løsning. ;-)

 

Og til slutt; Tabeller er ikke beregnet for design.

 

Edit: Feil i syntax - Function. Endret nå. ;)

Endret av funkyboy
Lenke til kommentar

Takker. Da skal jeg prøve litt her. Hva vil du bruke isteden for tabell?

Jeg har fått include-scriptet til å fungere, og den laster siden som jeg vil. Det var egentlig bare det at jeg ville ha en header i en annen celle og få det lastet inn samtidig med hovedinnholdet. Kan jeg da bare legge det samme include scriptet inn i headeren og endre litt på verdiene?

Endret av mgjall
Lenke til kommentar

> Takker. Da skal jeg prøve litt her. Hva vil du bruke isteden for tabell?

 

Bare hyggelig. Bruk CSS isteden for tabeller. Du definerer alt som har med utseende å gjøre i en .css- fil, og bruker tags som f.eks <div>. Du kan se på f.eks http://www.htmldog.com/ eller http://www.w3schools.com/ for å se hvordan du lager css- basert layout. Eller rett og slett Google. Dersom du søker etter noe ala "Why not use tables for design", vil du også fort finne en god begrunnelse. ;-)

 

> Kan jeg da bare legge det samme include scriptet inn i headeren og endre litt på verdiene?

 

Det er fullt mulig. Nå vet jeg ikke helt hvordan dine inlude- filer ser ut, men du kan eventuelt legge inn en funksjon i mellom innholdsbolkene som skriver ut det som skal være der. Eksempelvis </td><td>. Definerer du dette som en funksjon, er det mye lettere å endre denne kun EN plass isteden for å endre samme ting i tjue- førti filer. :-)

 

Edit: Da blir det omtrent slik:

 

<h1>Overskrift</h1>

 

<?php Skriv_ut_innhold_mellom_overskrift_og_innhold(); ?>

 

<p>

Innholdet fortsetter du her, og php gjør jobben for deg med å skrive innholdet mellom overskrift og dette innholdet..

</p>

Endret av funkyboy
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...