Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Hjemmeside design
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Links ved benyttelse af PHP include()

Af Mega Nørd Confusion | 06-11-2014 16:14 | 2459 visninger | 19 svar, hop til seneste
Er gået igang med at lege med webside design igen, og er ved at komme ud i noget rod mht. links. Så nu spørger jeg lige inden jeg kører helt af sporet. Jeg har, som de fleste websider, en skabelon der altid skal vises. I den har jeg et <div> element til indholdet, hvor jeg bruger PHP funktionen include() til at inkluderer det der er "udskiftbart". Men hvordan laver man links, så man ikke skal fortælle den at den skal bruge skabelonen hver gang. Et eksempel kunne være hvis man kigger på links til de forskellige tråde her på hol.dk, så hedder de "traad.aspx?id=XXXXX&tid=YYYYY". Det er vel trods ikke lavet sådan at det i traad.aspx er inkluderet alt det omkringliggende kode, med menuer osv.? Anden god praksis til navigation er også velkommen, gerne hvis nogen kender en god artikel eller to, indtil videre har jeg kun selv fundet skrammel.
--
Jo tak og i lige måde...
#1
Confusion
Mega Nørd
06-11-2014 16:24

Rapporter til Admin
Og så glemte jeg spørge til hvad praksis er for sider der ligger i undermapper. Et link der hedder "index.pxp?page=mappe1/mappe2/underside.php" er mildest talt noget rod...
--
Jo tak og i lige måde...
#2
stallemanden
HOL Moderator
06-11-2014 16:34

Rapporter til Admin
Jeg plejer nu at lave en template (masterpages i ASP verdenen) Jeg laver en php fil - fx layout.php I den er ALT det overordnet design af siden. Jeg splitter det så op, således, at den første del af siden ligger inde i en php funktion - fx html_start() Den sidste del ligger så inde i en funktion der kunne hedde html_end() På alle mine sider, laver jeg så en include af layout.php og kalder de to funktioner. Imellem de to funktioner placerer jeg så det indhold den enkelte side skal have. Det kan være HTML såvel som PHP af forskellig art. layout.php indeholder således al min "standard" funktionalitet, og diverse sider henter indholdet. derfra. Et meget skrabet eksempel: http://pastebin.com[...]
--
Always be youself ---- unless ---- you can be batman ----- then ----- always be batman
#3
stallemanden
HOL Moderator
06-11-2014 16:35

Rapporter til Admin
#1 Nej, den metode du beskriver, er så absolut no-go. Det er en åben invitation til at lave angreb på din web-server
--
Always be youself ---- unless ---- you can be batman ----- then ----- always be batman
#4
Confusion
Mega Nørd
06-11-2014 16:50

Rapporter til Admin
#2 Tak, det kunne være jeg skulle prøve den model. #3 Hvordan løser man så problemet med undermapper? Edit: Jeg kan ikke skrive koden til hvordan man laver html links, men de afslører også stien.
--
Jo tak og i lige måde...
#5
stallemanden
HOL Moderator
06-11-2014 16:58

Rapporter til Admin
#4 Dit problem med undermapper løser list sig selv, hvis du benytter den måde jeg har vist dig - så behøver du nemlig IKKE din ?page=side.php Så bliver det domæne.dk/index.php domæne.dk/side4.php domæne.dk/underside/knallert.php eller hvad dine sider nu hedder
--
Always be youself ---- unless ---- you can be batman ----- then ----- always be batman
#6
Martin
Gæst
07-11-2014 12:13

Rapporter til Admin
Du kan lave en .php side med design (include og alt det der). Så kan du enten gemme alt det data du vil have på de forskellige sider, i en database, eller du kan benytte PHP til at hente dataen fra en anden .php side med feks. funktionen fopen(). Derefter kan du benytte $_GET til at lave links der linker til det relevante opslag i databasen eller den separate side. Jeg er næsten 100% sikker på at det er det HOL gør i det link du har skrevet, altså: siden med design hedder "traad.aspx" spørgsmålstegnet indikerer hvad der skrives til $_GET variablen osv. Husk, når du benytter $_GET eller $_POST, især til databaseforespørgelser, at escape hele strengen så du ikke bliver offer for MySQL injections. Fordelen ved denne måde er at du ikke skal lave en ny side hvergang du vil have en ny side på din hjemmeside. Det bliver nemlig meget besværligt meget hurtigt hvis du vil have et kommentarfelt på dine sider. http://php.net[...] http://php.net[...] http://php.net[...]
--
Gæstebruger, opret dit eget login og få din egen signatur.
#7
LeetDonkey
Junior Nørd
07-11-2014 12:23

Rapporter til Admin
Jeg bruger samme metode som Stallemanden. I mine spæde begynder skridt med PHP (for 10+) år siden lavede jeg netop samme fejl med en betingelsesløs include. Det blev benyttet af én til at include en side med en FTP klient skrevet i PHP, hvorefter at han havde fri adgang til alt der lå på domænet :-]
--
http://thebestpageintheuniverse.net[...]
#8
Gill Bates
Maxi Nørd
07-11-2014 13:45

Rapporter til Admin
#2 jeg gør lidt det samme, men omvendt Jeg pakker undersider ind i en simpel funktion og spytter dén ud på main siden
--
#9
Confusion
Mega Nørd
07-11-2014 15:53

Rapporter til Admin
Tak for alle svarene, så er der lidt at arbejde med. Lige som et bonus spørgsmål, er der så nogen der ved hvor man finder "live-hjælp" i disse tider? Dengang jeg var ung var IRC sagen, men ved ikke om der er kommet nye boller på supper ;-).
--
Jo tak og i lige måde...
#10
stallemanden
HOL Moderator
07-11-2014 16:01

Rapporter til Admin
#9 IRC er vejen frem - :) Quakenet.org - der kan du også finde #hol.dk kanalen.
--
Always be youself ---- unless ---- you can be batman ----- then ----- always be batman
#11
Confusion
Mega Nørd
07-11-2014 16:04

Rapporter til Admin
Fedt, min ungdom lever endnu :-).
--
Jo tak og i lige måde...
#12
inckie
Super Nørd
07-11-2014 16:20

Rapporter til Admin
http://imgur.com[...] Bemærk dog at eksempel ikke skal bruges på et live site, da der ingen sikkerheds er i det. APP_PATH er "root" af din side.
--
#13
Confusion
Mega Nørd
07-11-2014 16:22

Rapporter til Admin
#12 Tak, især det med APP_PATH skal jeg nok få brug for et par gange.
--
Jo tak og i lige måde...
#14
inckie
Super Nørd
07-11-2014 16:24

Rapporter til Admin
ps. kig på noget som f.eks. http://slimframework.com[...] eller http://www.codeigniter.com[...]
--
#15
inckie
Super Nørd
07-11-2014 16:30

Rapporter til Admin
#11 IRC lever i bedste velgående #13 Jeg vil klart anbefale dig at kigge på nogle frameworks fremfor at opfinde den dybe tallerken igen.
--
#16
stallemanden
HOL Moderator
07-11-2014 16:32

Rapporter til Admin
#14 Hvilket af de to frameworks, er dit foretrukne ?
--
Always be youself ---- unless ---- you can be batman ----- then ----- always be batman
#17
inckie
Super Nørd
07-11-2014 16:36

Rapporter til Admin
#16 Depends Slim bruger jeg til simple ting, f.eks. en one-page formular eller REST api'er CodeIgniter bruger jeg til lidt størrere ting, hvor der er lidt mere kød på i forhold til layouts osv. CI er meget nemt at gå tilbage og userguiden er meget nem at forstå osv, så tror det vil passe bedst til #0. CI er i øvrigt et "slow moving" framework, udviklingen går ikke så stærkt, versioner lever meget længe og er somregel mange PHP versioner bagud kompitabel. Dog er jeg er selv ved at forlade CI, til fordel for http://laravel.com[...] da det bruger Composer og er PSR kompatibel (ligesom Slim)
--
#18
Confusion
Mega Nørd
07-11-2014 16:41

Rapporter til Admin
Hold da op, nu fik jeg pludselig meget at arbejde med. Jeg læser på fuld knald...
--
Jo tak og i lige måde...
#19
inckie
Super Nørd
07-11-2014 16:54

Rapporter til Admin
"CI er meget nemt at gå tilbage" = "CI er meget nemt at gå til"***
--

Opret svar til indlægget: Links ved benyttelse af PHP include()

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning