Avatar billede Slettet bruger
06. december 2009 - 00:32 Der er 14 kommentarer og
1 løsning

En masse ppørgsmål til opbygning af PHP side

Nu har jeg arbejdet lidt med ASP.
Hvilket jeg synes var godt.

Men jeg ser flere muligheder i PHP og derfor vil jeg til at lege med det.

Jeg bryder mig ikke om at når man går ind på en hjemmeside, at man så kan se stien og alle filerns navne.
Så hvordan undgår man det?

Altså så der evt bare står:
www.site.dk
og ikke www.site.dk/default.php?en-masse-andet

Jeg ville gerne lave en default side.
Som havde en include fil ude i siden af en tabel.
Her skulle indsættes min login php fil. og hvis man var logget ind skulle den istedet vise min menu php fil.
Og når man trykkede på et link. Så skulle siden man valgte komme inde i midten af tabelen.
Hvordan ville i bygge det sådan op?

Jeg har lært at lave et login script via: http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=23
Er der noget der som ikke er som det skal være? noget der er forældet. Noget der ikke er sikkert? Kan det laves nemmere
Og hvordan får jeg den til at hoppe til til en anden side istedet for at bare skrive at man er logget ind?
Avatar billede wanze Nybegynder
06. december 2009 - 02:10 #1
Hvorfor i alverden vil du dog fjerne en så grundlæggende funktionalitet som at tillade folk at linke? Overvej hvor irriterende Eksperten.dk ville være, hvis der i mails med svar på trådene kun var links til forsiden, fordi de ikke understøttede linkstruktur - ligesom ikke vil have din side til. Eller hvor irriterende det ville være ikke at kunne sende linket til en bestemt tråd til en ven - eller bogmærke denne.

Det kan lade sig gøre, men jeg har aldrig set en hjemmeside der gør det, og selvom jeg godt kunne udtænke en idé til, hvordan det kunne lade sig gøre, så nægter jeg simpelthen af principper at give dig den, da jeg personligt ville hade at betjene en hjemmeside, der fungerede sådan. Der er en grund til, at vi er gået væk fra frames.

Istedet vil jeg anbefale, at du da blot gør links pænere på din side istedet, hvilket kan gøres med Apache-modulet mod_rewrite. Det bruge de også her på eksperten. Istedet for, at en side hedder eksempel.dk/index.php?cat=foo&title=bar så vil du kunne få den til at hedde fx eksempel.dk/foo/bar.

Den funktionalitet du nævner omkring, at alt indholdet skal komme i midten af siden er også noget man ville kunne opnå med frames - evt. et iframe, men dette er (som tidligere beskrevet) super ubrugervenligt, og når du alligevel har PHP til rådighed, så kan du lige så godt benytte dig af det. Det med tabel-baseret design hører dog også til frames-tiden, og bør ligeledes ikke anvendes. Istedet bør du bruge CSS-baseret design, der primært er bygget op omkring at style <div>-elementer.

Hvad angår loginscriptet, så nej, udover at det er dybt usikker pga. en tanketorsk fra programmørens side, så burde password som minimum ligge md5-hashed i databasen, og gerne med salt.  Så vidt jeg kan læse ud af scriptet (blot ved at skimte det igennem), så lader det til, at hvis der fx er 2 brugere, Per (med kode bil) og Mie (med kode hest), så ville Per kunne logge ind med koden hest, og ligeledes ville Mie kunne logge ind med koden bil.

Nu jeg læser i kommentarerne, så lader det også til, at der er flere brugere, der pointerer fejlen, så hvis du går ud fra dem og laver de ændringer, der bliver anbefalet, så vil scriptet nok fungere udmærket.

Dog synes jeg i stedet du skal starte på http://phpartikler.dk/og gennemgå de guides, der er derinde. Der er også en guide til, hvordan du omskriver links med mod_rewrite (http://phpartikler.dk/artikler/htaccess.php). Og en lille slut note - er det ikke smart, at det er muligt at linke direkte til artiklen? Det er sådan en funktionalitet du ønsker at afskaffe fra din hjemmeside.
Avatar billede wanze Nybegynder
06. december 2009 - 02:15 #2
Det kan måske misforstås - det er ikke ubrugervenligt at indholdet kunne i midten af siden som sådan - min pointe var, at frames var en dårlig løsning til det. Lige får at få det sat på plads.

Det med at hoppe til en anden side kan du forresten gør med header("Location: /en-anden-side.php");. Dog skal du være opmærksom på, at det ikke vil virke, hvis du allerede har sendt data ud, da headere skal komme før al data. Altså vil følgende fx ikke virke:
  <html>
  <head>
  <?php header("Location: http://google.com"); ?>
  ... mere indhold
Avatar billede repox Seniormester
06. december 2009 - 11:31 #3
Er det alle forespørgsler du vil gemme?
Altså, der må ikke stå f.eks example.org/kontakt.php eller example.org/cv.php?
Avatar billede Slettet bruger
06. december 2009 - 12:16 #4
Altså i mit asp havde en en default side. Som har includede en default_2 side.

I default_2 siden havde jeg så i højre side en menu linje.
(Det er et design jeg er vild med og har fået hjælp til. Så vil gerne forsætte sådan)
Dette virker fint.

-----------------------------

Et menu link hedder fx:
<a href="?site=forside">Forside</a>


I midten har jeg så disse:

case "forside"
%><!--#include file="forside.asp"--><%


eller  til bruger med højre admin level:

Case "side2"
if session("adminlevel >= 2 then
%><!--#include file="side2"--><%
end if

-----------------------------

til Wanze: jeg kan fint bodmærke siderne selvom de ikke bliver vist i top linjen. Og fint sende link til venner selvom der bare står det i toppen. Det forstår jeg ikke helt så. Men det må jeg se på det du skriver.
Og jeg kan godt se den fejl der er i det.
Avatar billede repox Seniormester
06. december 2009 - 14:11 #5
Det var ikke meget svar der var på mit spørgsmål.
Hvordan vil du adskille siderne? Hvis du ikke vil have at URL'en ændrer, så har #1 ret i at du skal bruge en forældet ikke-velset teknik ved at anvende frames.
Avatar billede Slettet bruger
06. december 2009 - 17:34 #6
Repox. Ville gerne undgå at der står så meget. Men hvis kan nøjes med at der bare står som du skriver kontakt.php så ville det jo være ok.

Har ikke brugt Frames førhen. Det var det jeg prøvede at forklare. i det jeg skrev.

Når man gør det sådan kommer der ikke nogen sti.

Men så lige for at høre. Hvorfor er Frames ikke-velset teknink?
Avatar billede wanze Nybegynder
06. december 2009 - 17:54 #7
"Og fint sende link til venner selvom der bare står det i toppen."

Jeg tror ikke jeg forstår dig. Hvordan vil du vide, hvad der linker til den her side, hvis der i toplinjen kun stod http://www.eksperten.dk/ og ikke http://www.eksperten.dk/spm/894820 ?

Du kan godt linke til eksperten.dk, men ikke undersiderne.
Avatar billede repox Seniormester
06. december 2009 - 21:08 #8
#6
Prøv at google "why not use frames".

Som wanze ellers siger giver det ikke meget mening det du skriver.
Du giver en stump kode som ingen kontekst der har og insuinerer derefter at du med den stump kode kan inkludere det du vil uden at skulle ændre URL'en.

Det kan jo ikke lade sig gøre. Du skal - på en eller anden måde - tilkendegive overfor serveren hvad det er du gerne vil vise.
Avatar billede Slettet bruger
06. december 2009 - 21:10 #9
Wanze jeg ved det ikke. Men vi havde en intern klan side og når jeg sendte linket i toppen kunne han godt se listerne jeg sendte. Og det var uden jeg sagde hvad det var for nogen. Og den åbnede de lister han sendte mig. Den side var også bygget op ligesom jeg skrev før. Og der står kun indtil .dk så ved ikke hvorfor.

Men jeg vil gerne vide hvad mulighederne er.
Avatar billede wanze Nybegynder
06. december 2009 - 22:10 #10
Du kan vel nok regne ud, at der er et eller andet du har overset. Hvordan pokker skulle din vens browser kunne kende forskel på om han skal ind på www.eksempel.dk eller www.eksempel.dk som du linker? Det kan jo ikke lade sig gøre - længere er den ikke. Det der står i adresselinjen er ikke magisk, og heller ikke når du kopierer det. Det er ren tekst. Om du kopierer www.eksempel.dk eller skriver det i browseren - det har samme præcis samme effekt.
Avatar billede Slettet bruger
06. december 2009 - 22:14 #11
Repox kan jo kun sige havde der er sket. Derfor har jeg ikke set problemet i det. Og derfor spørger jeg efter det samme. Men det jeg skal lave har ikke brug for at skulle vise resten af adresserne. Så det gør ikke så meget.

Men uanset hvad så er det ikke det jeg spørg om.
Jeg spørg til hvilke muligheder man har for at lave noget uden man får en url på 1000 tegn.

Og Wanze.... Det der link har givet mig en skid god forståelse. Har læst lidt af dem. Og synes det er skide godt. Så der er point for den hjælp.

Men vil bare gerne vide hvordan man nemmeste undgår de lange URL'er
Så hvis vi kan snakke om det.
Avatar billede wanze Nybegynder
06. december 2009 - 22:36 #12
Hvilke link er det, der har hjulpet? Fordi jeg synes ikke normalt man får særlig lange links bare på en almindelig side. Synes du links her på Eksperten er for lange? De viser udelukkende det de skal. Det er den slags man kan opnå med mod_rewrite (som der er også er en guide til på www.phpartikler.dk).

Hvis det er en hjemmeside til din klan eller hvad pokker det var, så er der vel heller ikke noget i vejen for, at man kan linke til de forskellige sider: /holdopstilling, /kontakt og hvad man nu ellers skal have på sådan en side.

Det der med fuldstændig at eliminere links vil jeg ikke hjælpe dig med, da jeg ikke kan komme i tanke om en eneste case, hvor det kan være praktisk. Jeg vil gerne hjælpe dig med at begrænse links omfang dog, men så skal jeg nok have lidt mere indsigt i, hvad det er for et projekt du har gang i.
Avatar billede Slettet bruger
06. december 2009 - 23:19 #13
Jamen det er mest det med at man nogengange ser sider hvor der står index.php?page=overview&session=75da28b4b608
Lige et sted jeg tilfældigvis var inde.

Det jeg skal lave er sådan set ikke noget klan som sådan.
Det skal mest bare være et oploadings system til mig en en kammerat hvor vi oploader diverse data ind i en datebase og kan aflæse diverse stats.

Og som sagt er jeg kun lige gået igang.
Har mit design klar i tabel form.
Og som det står oppe i toppen har jeg været igang med at lege med et login system.

Og det er starten. Så skal jeg lige lege lidt med det og se mulighederne og grund principperne og så vil der blive bygget mere på.
Avatar billede Slettet bruger
06. december 2009 - 23:27 #14
Men kan se at den der PHPartikler.dk er en genial begynder side.
Jeg søgte nok lidt på det forkerte da jeg startede. Startede med at søge på at lave en login del. For det var sådan jeg lærte ASP. Fnadt en skide god artikel der og der beskrev han også grundprincipperne i på samme tid. Det fyldte også kun 42 A4 sider. Hvor hvor der stod hvad man ellers kunne og alt muligt.

Og kan godt se længere nede på siden ligger det du snakkeed om med mod_rewrite.

Så det må jo være sådan jeg gør.

Du kan bare poste et svar så har jeg noget jeg kan starte med.
Avatar billede wanze Nybegynder
06. december 2009 - 23:33 #15
Held og lykke. :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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