Avatar billede alex15 Nybegynder
07. november 2007 - 16:41 Der er 34 kommentarer og
2 løsninger

Hvad skal der min. stå i en php fil når den oprettes?

Hej

Nu ville jeg lige høre hvad det præcis eller minimus skal stå i toppen af en php fil når man opretter den?

forstået på den måde, skal der f.eks. stå:

<html>

<head>
<link rel="stylesheet" type="text/php" href="css.php">
<style type="text/php">
</head>

<body>
</body>

</html>

Eller skal der også stå sådan noget med f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>

osv osv.
Avatar billede leif Seniormester
07. november 2007 - 16:45 #1
I en PHP kan indeholde blot HTML kode

Hvis det er med PHP kode så starter og slutter man sin PHP kode med:
<?php
echo "Welcome";
?>
Avatar billede alex15 Nybegynder
07. november 2007 - 16:55 #2
Ved godt det med at man starter og slutter en kode med <?php ?>

Men man skal jo have noget andet i filen end bare det. Men hvis man vil ligge den ud på nettet?

Hvis vi nu forestille os jeg at jeg lave en fil, hvor der skal stå følgende "Velkommen til min side", og selve designet bliver hentet fra en anden php/css fil. Hvad skal man så skrive? Skal man så ikke gøre det på følgende måde:

<html>

<head>
<link rel="stylesheet" type="text/php" href="css.php">
<style type="text/php">

<div id="backgrund">

</style>
</head>

<body>
<?php
echo "Velkommen til min side";
?>
</body>

</html>
Avatar billede leif Seniormester
07. november 2007 - 17:05 #3
Det vil være nok for at vise siden
Avatar billede w13 Novice
07. november 2007 - 17:12 #4
Hvis den HTML-kode, som php-siden genererer, skal være god, bør du have en doctype, ja: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede alex15 Nybegynder
07. november 2007 - 18:10 #5
Okay, så det burde jeg skrive i toppen af HVER side?

altså før <html> eller hva?

Men er det, det samme når filen bliver en php fil? skal der så stadigvæk stå:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

i toppen af hver fil?
Avatar billede w13 Novice
07. november 2007 - 18:22 #6
Jep, helt øverst før <html>.

Man bruger som oftest PHP til at genere HTML med. Og det er så HTML'en, som browseren læser. Og browseren skal bruge doctypen til at forstå HTML'en med. Der er ingen doctype til PHP.
Avatar billede w13 Novice
07. november 2007 - 18:32 #7
Du kan dog ikke skrive:
<style type="text/php">

style-tag'et skal altid lukkes:

<style></style>
Avatar billede alex15 Nybegynder
07. november 2007 - 22:22 #8
Okay.. Hvad vil det der style overhoved sige?

Man kan ikke bare linke til en anden fil? Så man skriver følgende:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

i en fil.. og så skriver man bare følgende øverste i alle andre filer:

<?php

include "doctypen.html"

?>
Avatar billede w13 Novice
07. november 2007 - 22:30 #9
Det vil ikke sige noget. Det style-tag er ugyldigt :)
Du kan derimod bruge det med type=text/css sådan her:

<style type="text/css">
body{
  width:100%
}
</script>

Altså til at indsætte css direkte i din fil.

Og jo, du kan godt inkludere på den måde. Men kun fordi PHP'en så genererer HTML'en, så det ser rigtigt ud.

Undgå dog at inkludere for meget. Det bruger meget serverkraft. Så lav hellere en fil, der hedder header.php eller top.php, som indeholder al den kode, der skal stå i toppen af alle sider, så du kun behøver at inkludere den.
Avatar billede alex15 Nybegynder
07. november 2007 - 22:53 #10
Arh.. ja okay, nu tror jeg måske at jeg forstår det.. hvis man vil indsætte noget form for css DIREKTE ind i ens html / php fil, SKAL man i toppen skrive <style type="text/css"> right?

Ja okay.. det svære ved det er jo bare at man SKAL sørge for at det kommer i den rigtig række følge så :P Gør det siden meget mere langsom hvis den for mange gange skal hente eller "include" fra andre sider???
Avatar billede w13 Novice
07. november 2007 - 23:47 #11
Ja. Det er stort arbejde for PHP at include, og alt PHP-arbejde gør serveren langsom. Nu flere brugere du så har samtidig på din side, nu værre bliver det. Og det løber hurtigt op! Så det er altid et plus at holde sin kode optimeret og minimal.

Ja, du kan definere CSS direkte med <style type="text/css">, men husk at afslutte igen med </style>, ellers prøver den bare at bruge resten af din kode som CSS.
Avatar billede alex15 Nybegynder
08. november 2007 - 00:23 #12
Ja okay.. Men jeg vil jo også gerne gøre de forskellige koder på siderne så korte som muligt.. og derfor ville det jo være en fordel hvis man bare kunne include alle koder! så ville siderne automatisk være rigtig korte.. hvis du forstår.. men det skal man altså ikke gøre, kan jeg næsten forstå på det hele..! Findes der altså måder man kan gøre det på? så det ikke gør noget ved hastigheden for upload af siderne???
Avatar billede w13 Novice
08. november 2007 - 00:55 #13
Det er smart at inkludere, men hvis koderne, du inkluderer, er lange, så gør det ingen forskel. Når brugeren ser siden, vil hans computer alligevel hente de lange koder ned. Og når man vælger "Vis kilde" i Internet Explorer vil man også kun se den lange kode.

Include er altså smart, men forsøg at undgå at gøre det for mange gange. Optimalt set bør du kun gøre det 2 gange:
----------------------------
HER INKLUDERES HEADER.PHP

indhold

HER INKLUDERES FOOTER.PHP
----------------------------
Header.php:

<?php
//Diverse php-koder som skal køres på alle sider
?>
<doctype ...>
<html>
<head>
  <title>Sidenavn</title>
  <meta ...>
  <link type="text/css" rel="stylesheet" href="stylesheet.css">
</head>
<body>
----------------------------
Footer.php:

</body>
</html>
<?php
//Diverse php-koder som skal køres inden alle sider afsluttes
?>
-----------------------------
Du bør helt klart inkludere koder for at gøre det lettere for dig selv og for at mindske koderne på alle sider. Men brug det så lidt som muligt alligevel, ligesom du ser i eksemplet oven over, hvor kun 2 filer inkluderes. Sådan bygger jeg selv mine sider op, dog i ASP.
Avatar billede alex15 Nybegynder
08. november 2007 - 10:26 #14
Ja okay.. Men hvad gør hjemmesider som Roskildebank? Når man går ind og trykker vis kilde, så kan næsten INGEN koder se? det må jo være = at de henter alle deres koder fra alle mulige forskellige sider..! Hvordan gør de det så???
Avatar billede leif Seniormester
08. november 2007 - 14:41 #15
Roskildebank har massere af kildekode

Men det kan kun se de koder som er fortolket af browseren, fx. CSS, JavaScript og HTML alt ASP kode (i deres tilfælde) er fortolket af serveren og derfor kan du ikke se dem
Avatar billede alex15 Nybegynder
08. november 2007 - 15:10 #16
Ja okay..! Hmmm.. Men hvad ville du gøre hvis man f.eks. laver en manu linje, som skal gå igen og igen på alle ens sider, kan man ikke bare lave den menu linke i en fil man f.eks. kalder menulinje.php og så linke til den inde i ens "normale" php fil. UDEN af hastigheden bliver nedsat..

Det ville kunne gøre det så meget nemmere for en og redigerer i menu linjen.. Så behøvede man KUN og redigere i den i én fil nemlig..
Avatar billede leif Seniormester
08. november 2007 - 15:42 #17
Ja, og nej !


Jeg gør det at mit design inkl. menu ligger gerne i index.php og så inkluderer jeg via ?p=test siden med teksten som står på test siden
Avatar billede alex15 Nybegynder
08. november 2007 - 16:16 #18
Hmm.. det forstår jeg ikke helt..! Hvad gør det er du gør det på den måde???
Avatar billede leif Seniormester
08. november 2007 - 16:43 #19
At teksten henter jeg fx. på nogen sider fra en database.
Avatar billede alex15 Nybegynder
08. november 2007 - 17:00 #20
hmm ja okay.. så du har faktisk menu linjen kodes ind i din database?? eller hvad?
Avatar billede leif Seniormester
08. november 2007 - 22:16 #21
Det er meget forskelligt, men ja, i nogen tilfælde, men i nogen tilfælde nej
Avatar billede alex15 Nybegynder
08. november 2007 - 22:34 #22
hehe.. Ja okay.. Arh, det er lidt forvirrende det her :D Men hvorfor gøre det i nogle tilfælde og ikke i andre? hvad ville du / i gøre, hvis i stod og skulle lave en menu linje som skulle gå igen og igen på alle de forskellige sider?
Avatar billede leif Seniormester
08. november 2007 - 22:44 #23
Jeg laver flere sider og behovene er forskellige  :-)

Smide Design i en fil + evt. menu eller Design i en og menu i en og "body" i en
Avatar billede alex15 Nybegynder
09. november 2007 - 15:07 #24
Ja okay. Når du siger design i en, mener du og lave en css fil ikke? eller det man normalt forbinder med css, bare med php, eftersom at der også skal være nogle php koder i ikke?

Sorry, fordi jeg sprøger så meget, vil bare gerne finde ud af så mange ting som muligt før jeg går i gang :o) håber det er okay?
Avatar billede leif Seniormester
09. november 2007 - 20:10 #25
Hvorfor er du så fokuseret på at design nødvendigvis indeholder php koder ?

Når jeg siger design så mener jeg noget af alt den HTML og/eller css som former siden.
Avatar billede alex15 Nybegynder
10. november 2007 - 13:04 #26
Hmm.. Gør jeg jo sådan set også selv.. Havde da tænkt mig at jeg ville lave selve designet i css. og så menu knapper og sådan noget i php? man kan da ikke lave menu knapper i css, eller hva?

Når jeg laver design i css gør jeg da på følgende måde:

css filen:

#Layer2 {
    position:absolute;
    width:700px;
    height:805px;
    z-index:6;
    left: 50px;
    top: 130px;
}

og så linker jeg til css filen i min php fil. Problemer med det her er bare at hvis man f.eks. laver et forum hvor svarene skal forsætte ned af siden, lige som på denne side. Så forsætter den jo ud over siden? altså i bunden? hvis du forstår? Eftersom at jeg har fastlagt længden for siden til f.eks. (height:805px;)???
Avatar billede w13 Novice
10. november 2007 - 13:12 #27
Måske kan du undgå det, ved i stedet at sætte min-height:805px;
Avatar billede alex15 Nybegynder
10. november 2007 - 13:18 #28
arhh.. Okay, kan man gøre det på den måde? så tilpasser den sig automatisk efter hvor lang en tekst er på en side f.eks?
Avatar billede w13 Novice
10. november 2007 - 14:27 #29
Måske :) Jeg er ikke 100%, men min-height findes og er gyldig.
Avatar billede alex15 Nybegynder
10. november 2007 - 14:39 #30
Ja okay. Har lige siddet og læst lidt om det, og det ser faktisk ud som om at man kan gøre det på den måde.. takker her fra.. og til alle sammen, lav lige et svar så i kan få point :o)
Avatar billede alex15 Nybegynder
10. november 2007 - 14:39 #31
og 1000 tak for hjælpen..!
Avatar billede w13 Novice
10. november 2007 - 14:40 #32
Oki.
Avatar billede alex15 Nybegynder
14. november 2007 - 08:47 #33
Leif, vil du ikke være venlig og lave et svar ;o) så vi kan få lukket denne tråd?
Avatar billede leif Seniormester
14. november 2007 - 21:58 #34
Svar.
Avatar billede w13 Novice
15. november 2007 - 01:54 #35
Takker! =)
Avatar billede alex15 Nybegynder
15. november 2007 - 10:00 #36
mig som takker..!
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