Varför inkludera allt i indexfilen ?

PHPportalen Forum Index » PHP
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3 ... 11, 12, 13  Nästa
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59738
Inlägg Skrivet: 2003-07-27 12:01      Ämne: Varför inkludera allt i indexfilen ? Citera

Jag har sett i ganska många trådar frågor i samband med att man vill inkludera alla webbplatsens sidor i indexfilen, med hjälp av variabler typ index.php?sida=guestbook.
Jag kan inte förstå varför. Kan någon tala om för mig finessen med det?

Lägger man menyer m.m. i sin indexfil så är risken stor att man får problem med headers, sätta cookies och liknande (visst finns vägar att gå runt detta). Även skript som man hämtar från nätet som använder GET-variabler kan bli svåra att integrera.

Har man inget i sin indexfil, mer än inkludering, förstår jag heller inte idén med det.

Jag ser detta som att man använder ett frames-tänkande:
Jag har detta frameset, nu ska jag göra om allt till PHP och behöver inte använda frameset. Hm, jag lägger menyer mm i indexfilen, men hur ska jag göra med mainFrame? Jag vet, jag inkluderar detta.

Detta var elakt skrivet, och det är säkert inte så det går till, men det är den parallellen jag drar. Frameset-tänkande vid siduppyggandet.

Själv tillhör jag dom som tycker att det är bättre att lägga de delar av sidorna (menyer mm) som är gemensamma i en egen fil, och sedan inkludera den. Det går t.o.m att ta med hela head-delen om man använder variabler för title och liknande.

Nu är detta inte att förkasta detta sätt (index-inkludering) att bygga upp webbplatsen, jag kan bara inte förstå varför man ger sig dessa problem, utan att vinna särskilt mycket (om ens något), och dessutom försvåra för sökmotorer att hitta sidorna.

Det finns säkert anledningar som jag inte uppfattat. Förklara gärna detta för mig.


Om någon moderator tycker detta ligger i fel forum så har ni min fulla tillåtelse att flytta tråden. Var själv tveksam om vilket forum jag skulle lägga den i. Smile
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
TwoTowers



Medlem i: 5277 dagar

Status: Offline



#59739
Inlägg Skrivet: 2003-07-27 12:09      Ämne: Citera

Låter nästan som ordet fritt? :D

Jag kan tänka mig att det blir ett "frame" tänkande.
Själv skulle jag kunna tänka mig att arbeta på ett sådant sätt, pga att det blir enklare! Smile. Men det måste inte nödvändigtvis användas så som jag "tänker".

Jag kan tänka mig att man bygger upp en sida av moduler.
Tex gästboken, den kanske ligger på

"site/guestbook/guestbook.php"

"index.php" är t.ex. uppbyggd med ngn logga överst, meny på vänster sida och så dett stort fält under loggan, till höger där "resten" skall visas.

Där görs en include("guestbook.php");
Vips så har hela gästboken hamnat i index.php.

Det som "vinns" är att man kan arbeta med guestbook.php fristående från visnings-sidan.

Sättet att hämta, skriva ut och manipulera texten är abstraherat ifrån det ställe som den slutgiltiga utskriften sker.

Det går självfallet att göra på fler sätt. Det där var ett sätt.

Det är dessutom inte nödvändigt att ha index.php
utan likväl kan "site/guestbook.php" includera
"site/guestbook/guestbook.php" för att få ut sin gästbok.

Jag vet själv inte vilken teknik jag föredrar, en blandning antar jag.

Senast ändrad av TwoTowers den 2003-07-27 12:18, ändrad totalt 1 gång
 

_________________
A promise lives within you now
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59743
Inlägg Skrivet: 2003-07-27 12:17      Ämne: Citera

Och detta är precis det frames-tänkande jag uppfattade.

Använder du header eller sätter en cookie så måste du buffra outputet från din indexfil.
Gästbokens postning av inlägg måste gå mot index-filen.
Har du en paging, eller på annat sätt använder GET-variabler så måste du se till att få med det du redan har i din querystring.

Allt detta kan skapa problem eller extraarbete. Går att lösa, men vad vinner man ?

Menyer mm kan man inkludera i de aktuella filerna istället för tvärtom. Ger inte mer arbete.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
TwoTowers



Medlem i: 5277 dagar

Status: Offline



#59748
Inlägg Skrivet: 2003-07-27 12:25      Ämne: Citera

Mjo, en
ob_start();/ob_flush får man dras med.

guestbook.php med underfunktioner och så vidare

kan enkelt sköta
$_GET['action']; eller andra $_GET
och $_POST också. Sätter upp villkor osv.

exempelvis
PHP:
1:
 
2:
switch ($_GET['action']){
3:
case 'post_submit':
4:
              store_post();
5:
              break;
6:
case 'login':
7:
             admin_login_form();
8:
             break;
9:
case 'logout':
10:
             admin_logout();
11:
             break;
12:
case 'delete_post':
13:
            delete_post();
14:
            break;
15:
default: break;
16:
 
17:
// Exempel på funktion
18:
 
19:
function store_post(){
20:
   insert_into_table();
21:
  // För att slippa reload-problem
22:
   header("location: ".$_SERVER['PHP_SELF']);
23:
}
24:
 
25:
 


En fördel är att man enkelt kan validera forms, och är de inte "valid" så har man redan alla värden i sina äggmackor, och kan enkelt skriva ut ett nytt. Dessutom minskar det antal sidor som krävs.. =)

Det medför lite extra arbete för enklare saker ja,
men blir mer lätthanterligt i större sammanhang, om det görs på rätt sätt..

Men det finns säkert ännu bättre sätt :D
 

_________________
A promise lives within you now
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
dectgap
in memoriam



Medlem i: 5716 dagar
Från: Malmö
Status: Offline



#59752
Inlägg Skrivet: 2003-07-27 12:31      Ämne: Citera

Att skriva adresser på typen index.php?sida=guestbook, eller kanske t.o.m. ?sida=guestbook kan nog anses häftigt, på samma sätt som flash-sidor, av många.

Jag föredrar att kalla sidorna för vad de innehåller: gastbok.php, kontakt.php, lankar.php o.s.v. Sedan inkluderar jag funktioner för att skriva ut sidhuvud, sidfot m.m. (det här med objektorienterade templates tycker jag verkar så omständligt, om man inte har stora sajter).

Det är kanske lite fåfänga, men jag tycker även att en adress i stil med www.domän.se/kontakt.php är mycket snyggare än www.domän.se/index.php?sida=kontakt.
 
Till toppen på sidan
Visa användarprofil
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59754
Inlägg Skrivet: 2003-07-27 12:36      Ämne: Citera

TwoTowers -->

Det där systemet kan du använda oberoende om du index-inkluderar eller ej. Vad jag menade med GET-variabler var att du måste hela tiden i formulärshuvud som länkar, javascript m.m. komma ihåg att skriva typ:
KOD:
1:
header("location: ".$_SERVER['PHP_SELF']."?sida=guestbook");

Ett merarbete som du sparar en eller två filer på. Plus den tid det tar för dig att leta upp alla fel/problem som orsakas av din siduppbyggnadstyp.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
TwoTowers



Medlem i: 5277 dagar

Status: Offline



#59757
Inlägg Skrivet: 2003-07-27 12:43      Ämne: Citera

Malte skrev:
TwoTowers -->

Det där systemet kan du använda oberoende om du index-inkluderar eller ej. Vad jag menade med GET-variabler var att du måste hela tiden i formulärshuvud som länkar, javascript m.m. komma ihåg att skriva typ:
KOD:
1:
header("location: ".$_SERVER['PHP_SELF']."?sida=guestbook");

Ett merarbete som du sparar en eller två filer på. Plus den tid det tar för dig att leta upp alla fel/problem som orsakas av din siduppbyggnadstyp.


Jepp.. iofs Razz

Som sagt, jag är inte så inne på det hela själv. Har uteslutit använt mig av guestbook.php

iofs funkar
header("location: " .$_SERVER['HTTP_REFERER']); hyffsat i alla fall där browsern skickar med referer. Men ja, det är nog onödigt, om det inte finns ett bättre sätt...

Däremot kanske det kan vara "bra" för vissa applikationer, och mindre lämpligt för andra
 

_________________
A promise lives within you now
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
rask



Medlem i: 5429 dagar
Från: V-x-ö
Status: Offline



#59758
Inlägg Skrivet: 2003-07-27 12:43      Ämne: Citera

känns som att jag borde ta åt mej. Cool
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59763
Inlägg Skrivet: 2003-07-27 12:59      Ämne: Citera

TwoTowers -->

Överhuvudtaget inget av vikt på en sida får vara beroende av HTTP_REFERER.
Kan nämna att jag t.ex har Norton Internet Security, och den har som default att inte skicka HTTP_REFERER. Det finns några som använder NIS, och långtifrån alla har ändrat defaultinställningarna.

Och TwoTowers, det var just tillfällen då fördelarna med index-inkludering var värt det extra besväret jag efterlyste. Jag förkastar inte själva idéen.


rask -->
Ingen anledning att ta åt dig. Tycker du fördelarna överväger de extra besvären ska du naturligtvis göra så, bara du är medveten om vad det kan innebära i problem.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
TwoTowers



Medlem i: 5277 dagar

Status: Offline



#59767
Inlägg Skrivet: 2003-07-27 13:15      Ämne: Citera

Malte -->

Då kan jag antagligen inte hjälpa dig, eftersom jag inte vet fördelarna *s*.

Den enda gång jag kan tänka mig att det fungerar bra är då en undersida inte behöver ha egen funktionalitet. Dvs sida=guestbook är inte bra, då den ska kunna egna saker också.

men guestbook.php kan ju utnytja principen. Då de enda header("location:") behöver göra är ju tillbaka till sig själv.

Men du har nog fullständigt rätt i att index.php?sida=guestbook
är synnerligen ostabilt.

Det är itne ens snyggt :D
 

_________________
A promise lives within you now
Till toppen på sidan
Visa användarprofil Skicka privat meddelande ICQ-nummer
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59791
Inlägg Skrivet: 2003-07-27 14:18      Ämne: Citera

Men då kanske någon som använder inkludera-allt-i-index kunde tala om varför de använder det.

rask, om jag förstod dig rätt så gjorde du det. Kan du tala om varför du har valt att arbeta på det viset.

Jag kan inte finna det, men någon fördel måste det finnas, eftersom så många väljer att arbeta på detta sätt.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
Woppe



Medlem i: 5419 dagar
Från: Arvika
Status: Offline



#59792
Inlägg Skrivet: 2003-07-27 14:29      Ämne: Citera

Jag skulle aldrig bygga upp en hel sida på det där sättet (?sida=guestbook), med tanke på att (iaf om man har en stor sida) det är mer som behöver laddas ned. Det är ju inte säkert att man t.ex. vill besöka gästboken, och då har man laddat ned många rader kod i onödan.

Däremot kan jag tänka mig (och har gjort på den sida jag håller på med) att använda den funktionen till olika val till hur man sorterar, t.ex. efter bokstavsordning. Då blir adressen sida.php?sort=namn.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger ICQ-nummer
Malte
in memoriam 1



Medlem i: 5748 dagar
Från: Tingsryd
Status: Offline



#59794
Inlägg Skrivet: 2003-07-27 14:35      Ämne: Citera

Woppe

Det blir inte mer att ladda ner för den sakens skull. Du inkluderar gästboken endast om du har den i URL-en, annars inkluderas något annat.

Att använda GET-variabler för att styra en sidas innehåll är heller inte vad denna tråd handlar om, utan varför allt ska inkluderas i indexfilen.
 

_________________
Funktion är vackert
Till toppen på sidan
Visa användarprofil Besök användarens hemsida
Woppe



Medlem i: 5419 dagar
Från: Arvika
Status: Offline



#59795
Inlägg Skrivet: 2003-07-27 14:41      Ämne: Citera

Det förstås..
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger ICQ-nummer
thr
Inaktiverad



Medlem i: 5508 dagar
Från: Göteborg
Status: Offline



#59805
Inlägg Skrivet: 2003-07-27 15:27      Ämne: Citera

Jag tycker inte att det finns några stora fördelar med detta(inkludering i index filen), vet att många nybörjare gör så för att verkar häftigt etc. Dock så finns det ingen relasitisk annledning till att göra det. Några av de problem som kan uppstå är:

* Har du tex en meny som är kodad på index sidan och behöver lägga till/ta bort ett menyval när du har en annan sida uppe så blir det vällllldigt mycket jobb för dig.
* Om man klantar till det lite så är det inte speciellt svårt att hacka sidan med en egen kodad phpfil som inkluderas
* Förvirrar besökaren när han t ex. ska kopiera en länk
* Sidan blir ofta inte konsekvent uppbyggd pga. som tidigare nämnt så kan vissa sidor behöva små 'hack' för att man ska få till de menyval, etc. Som behövs för en speciell sida.

Och mig veterligen så finns det ingen fördel, iaf inte om man vet hur man ska hantera templates.
 

_________________
» "I'll try being nicer if you try being smarter"
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida 1, 2, 3 ... 11, 12, 13  Nästa
PHPportalen Forum Index » PHP
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic