Avatar billede gider_ikke_mere Nybegynder
01. november 2006 - 10:38 Der er 34 kommentarer og
2 løsninger

Fra frameset til en anden løsning

Hej.

Jeg har en side der er opbygget med en topframe, leftframe, samt mainframe. Siden er opbygget med PHP med forbindelse til MySql.

Leftframe indeholder en brugerliste, arrangeret efter fødselsdatoer, topframe er bare navigation.

Jeg vil nu gerne lave et andet layout. Nogle snakker om opbygning med tables, andre om opbygning med divs. Det er vel det der kaldes dynamisk layout. Det er hovedsagelig på grund af besværlig navigation jeg vil ændre sitet. Hvad er den bedste løsning, og hvorfor? Hvad er fordelene? Ulemperne?

Jeg tester udelukkende via webhotellet.
Avatar billede keysersoze Guru
01. november 2006 - 10:49 #1
om du vælger tabeller eller divs er i bund og grund det samme - rent visuelt vil du kunne få det samme frem og det vel være det samme stykke arbejde og de samme udfordringer du vil støde på ved skiftet fra frames.

Skal man endelig vælge så vil jeg klart sige layers - tabeller er skabt til at vise tabulerede data så derfor mener jeg det er bedst også kun at benytte dem til det. En ydeligere fordel er at der i udgangspunktet skal mindre kode til for at lave en opbygning med layers og jo mindre kode jo hurtigere side og jo lettere har også søgemaskiner ved at indentificere indholdet.
Avatar billede gider_ikke_mere Nybegynder
01. november 2006 - 10:59 #2
Vil det sige at jeg grundlæggende skal inkludere siderne i en "mainlayer" og altså reelt kun have en side som brugeren browser på?
Avatar billede keysersoze Guru
01. november 2006 - 11:44 #3
det er lidt forskelligt hvordan folk vælger at arbejde på - men grundlæggende så ja, det gælder om at skabe en stor genbrugelighed hvor det kan lade sig gøre (fx menu, top, bund etc) og det kan netop godt ske vha includes.
Avatar billede gider_ikke_mere Nybegynder
01. november 2006 - 11:56 #4
Hvis ikke med Include, hvilke muligheder er der så? Hvordan linker jeg, siderne imellem? Jeg skal jo loade forskellige sider i samme index side, men med forskellige sider. Det er det jeg ikke forstår ved dynamisk opbygning.
Avatar billede keysersoze Guru
01. november 2006 - 12:08 #5
jeg har ikke arbejdet i php så jeg ved ikke hvad der er "normalt" inden for det - men mon ikke det er at arbejde med querystrings, fx index.php?side=kontakt - index.php?side=nyheder osv og så altså bruge qyerystringen til hvilken underside der skal loades.
Avatar billede gider_ikke_mere Nybegynder
01. november 2006 - 15:55 #6
Jo, men hvordan sætter jeg siden til at blive loadet i den div hvor den skal være?
Avatar billede keysersoze Guru
01. november 2006 - 16:43 #7
du kan ikke på samme måde loade kun en del af siden som med frames (eller, jo det kan man godt men det er noget mere avanceret og har bestemt også sine ulemper) - du er nødt til at reloade hele siden.
Avatar billede gider_ikke_mere Nybegynder
01. november 2006 - 17:16 #8
Så er jeg igen ikke med. Skulle jeg ikke loade de gamle mainframe sider i en div på en index side? Eller skal jeg include venstre menu og topframe siderne på alle de andre sider?
Avatar billede keysersoze Guru
02. november 2006 - 10:36 #9
jeg er ikke helt sikker på hvad du mener så jeg prøver lidt uddybende (håber det hjælper);

- du kan som sådan ikke loade noget indhold i en div. forstået på den måde, at hvis du ikke bruger frames/iframes skal du enten loade hele siden ind igen eller slet ingenting.

- når man så vælger at gå væk fra frames/iframes kan man så i bund og grund gøre det på 2 måder. 1) så kan du lave fx nyheder.php, kontakt.php osv hvor du på hver side inkluderer top, menu osv. 2) så kan du lave en index.php der indeholde top, menu osv og så inkluderer du en underside ud fra en querystring fx index.php?side=kontakt og index.php?side=nyheder. Hvilket metode der er bedst og op til en selv - gør selv begge dele alt efter hvad jeg finder bedst til den enkelte løsning.
Avatar billede gider_ikke_mere Nybegynder
02. november 2006 - 10:51 #10
Metode 1 er nok udelukket, da jeg så skal rette en del i alle dokumenter. Metode 2 er lignende det jeg havde tænkt mig. Men skal jeg også bruge Include til det?
Avatar billede keysersoze Guru
02. november 2006 - 11:17 #11
du slipper under ingen omstændigheder i at rette i alle filer uanset hvilken metode du vælger. præcis hvordan man bruger incklude i php har jeg desværre ikke den store forstand på.
Avatar billede gider_ikke_mere Nybegynder
03. november 2006 - 11:42 #12
Er der andre der har en mening? Lidt mere hjælp om fordele/ulemper.
Avatar billede keysersoze Guru
03. november 2006 - 11:58 #13
syntaksen for include i php; <?php include("menu.php"); ?>
Avatar billede gider_ikke_mere Nybegynder
05. november 2006 - 03:31 #14
Tak, jeg ved hvordan jeg bruger Include. Jeg er mere interesseret i oplysninger om hvordan jeg opbygger siden - fordele og ulemper. Jeg vil nødig kaste mig ud i at ændre 50 sider, inden jeg har opbygningen på plads. Måske skulle jeg flytte spm. til PHP afdelingen.
Avatar billede gider_ikke_mere Nybegynder
07. november 2006 - 14:28 #15
Øv.
Avatar billede keysersoze Guru
09. november 2006 - 01:00 #16
jeg bruger stort set altid querystrings - på den måde kan jeg gå ind og tjecke om en side stadig findes og melde en pæn fejl tilbage til brugeren hvis den ikke gør (og jeg ikke har adgang til en custom 404).
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 22:49 #17
Jeg havde håbet på lidt flere inputs. Ideen om at lave den pågældende hjemmeside om, er stillet imidlertidig i bero. I stedet er jeg startet på en anden hjemmeside. Kan ses her: http://www.racingcar.dk/eksperten/. Det blev til en blanding af tables og divs. En løsning med kun divs kunne jeg slet ikke styre.
Avatar billede keysersoze Guru
04. december 2006 - 22:53 #18
bare sørg for at få rettet din javascript-fejl samt sørge for at designet ikke går i stykke ved højere opløsninger.
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 22:57 #19
Scriptfejl?
Avatar billede keysersoze Guru
04. december 2006 - 23:02 #20
ja - jeg får en javascript-fejl på siden. objekt obligatorisk.
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 23:05 #21
Med hvilken browser?
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 23:13 #22
Hvordan får jeg i øvrigt centreret hovedtabellen - hele indholdet - i body?
Avatar billede keysersoze Guru
04. december 2006 - 23:22 #23
IE6
din side ser da centreret ud?
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 23:25 #24
Ikke i 1280*1024. Og jeg får ingen fejl i FF, IE6 eller IE7.
Avatar billede keysersoze Guru
04. december 2006 - 23:31 #25
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 23:41 #26
Nu har jeg sat en fast bredde på tabellen. Dermed er den ikke centreret mere.
Avatar billede gider_ikke_mere Nybegynder
04. december 2006 - 23:43 #27
... og ingen fejl i IE6. Hvor har du klikket for at få fejlen?
Avatar billede keysersoze Guru
05. december 2006 - 17:55 #28
klikker ingen steder - går bare ind på sitet.
Avatar billede gider_ikke_mere Nybegynder
05. december 2006 - 18:13 #29
På 4 computere her i hjemmet som har IE6 hhv. IE7, samt FF er der ingen problemer.
Avatar billede keysersoze Guru
05. december 2006 - 18:21 #30
nej - men det er der altså hos mig :)
Avatar billede gider_ikke_mere Nybegynder
18. december 2006 - 13:57 #31
Havde håbet på lidt flere inputs.
Avatar billede gider_ikke_mere Nybegynder
20. december 2006 - 23:42 #32
Hmmm, jeg skylder dig en undskyldning, keysersoze. I dag besøgte jeg min side fra en anden computer. Der var scriptfejl!!!

Det viste sig at være en lille fejl i mit javascript.

Grunden til jeg ikke fik fejlen her er, at jeg bruger NIS popupblocker. Denne indsætter følgende kode før Document deklarationen:

<!--  -->

... og denne efter </body>:

<script language="JavaScript">
<!--
var SymRealOnLoad;
var SymRealOnUnload;

function SymOnUnload()
{
  window.open = SymWinOpen;
  if(SymRealOnUnload != null)
    SymRealOnUnload();
}

function SymOnLoad()
{
  if(SymRealOnLoad != null)
    SymRealOnLoad();
  window.open = SymRealWinOpen;
  SymRealOnUnload = window.onunload;
  window.onunload = SymOnUnload;
}

SymRealOnLoad = window.onload;
window.onload = SymOnLoad;

//-->
</script>

Og det skulle efter sigende være noget rigtig l..., da andre fortæller mig at IE går i quirckmode hvis der står noget før doc. deklarationen.

Hvad filen gør man så?
Avatar billede keysersoze Guru
21. december 2006 - 07:47 #33
finder en anden popup-blocker eller finder en måde at deaktivere den på når man tester hjemmesider - tror ikke der er så mange andre muligheder. Det er i hvert fald noget rigtig skidt at programmet på den måde går ind og manipulerer med html-dokumenterne.
Avatar billede gider_ikke_mere Nybegynder
21. december 2006 - 17:54 #34
Selvom jeg deaktiverer NIS, kommer linien <!--  --> stadig.
Avatar billede keysersoze Guru
21. december 2006 - 18:09 #35
jeg får den ikke - til gengæld har jeg et linieskift som vil resultere i det samme, nemlig at IE går i quirksmode. jeg kender ikke programmet så kan desværre ikke bidrage med det store.
Avatar billede gider_ikke_mere Nybegynder
21. december 2006 - 18:16 #36
Ok. Tak for hjælpen og god jul.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester