g0mpen Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 Hei alle sammen! Jeg har endelig tatt skrittet å begynt å lære meg PHP! Jeg brukte noen timer på å lete rundt, lese tutorialer, manuler, og teste skript. Nå synes jeg at jeg kan det rimelig bra, jeg greier iallefall å bruke ferdige script, og forstår sånn ca. hvordan de virker. Jeg har testet et info script, et par news script, og jeg greide faktisk å sette opp et forum (akkurat det samme som er brukt her). Jeg har tenkt å lage min første "ekte" side i PHP snart. Det jeg trenger å vite er egentlig hvordan jeg "bygger opp" sider i PHP? Jeg mener, jeg har testet flere script (og fått dem til å virke), men hvordan bruker jeg flere i samme side? iFrames? Jeg vet hvordan jeg can bruke PHP include funksjonen, men kan jeg "justere størrelse" på den siden jeg inkluderer? Hva gjør jeg dersom jeg for eksempel vil ha en index.php fil, med meny til venstre, header på topp, og en "innholdsboks" i midten? Hva må jeg gjøre for at den inkluderte filen (i midten) skal skiftes etterhvert som man klikker på menyen? Er det noen som vet om et news-script med direkte admin-login funksjon? (Please ikke kom med hotscripts.com link, jeg har sett der...) Håper noen kan ta seg tid til å besvare noen av mine mange spørsmål... jeg er fortsatt ganske ny på området Lenke til kommentar
TorS Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 Hvis du kan html/css er det ganske enkelt å inkludere en side der du vil, f.eks. i en innholds-del av siden din. Du bare setter opp siden som du vil, og inkluderer siden du skal inkludere i midt-rammen. Her er et eksempel. Jeg går ut ifra at du har en ekstern css-fil som definerer hvor på siden de forskjellige <div> elementene skal være. <div id="header"> </div> <div id="meny"> <a href="index.php?innhold=main">Hovedsiden</a> <a href="index.php?innhold=underside1">Underside1</a> <a href="index.php?innhold=underside2">Underside2</a> ... </div> <div class="innhold"> <?php include("sider/$_GET[innhold].php"); ?> Her regner jeg med at du har lagret sidene "main.php", "underside1.php" og "underside2.php" i mappen "sider". Det kan føre til en risiko at folk kan få inkludere hva de vil av filer, men siden det begynner å bli litt sent orker jeg ikke skrive mer om dette nå. Du kan søke på forumet her, jeg vet om flere tråder som har handlet om akkurat dette i den seneste tida. Lenke til kommentar
g0mpen Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 Jeg kan både html og litt css, men jeg vet ikke hvordan jeg definerer plassering av <div>'er (eller hva <div>'er egentlig er). Takk for kjapt svar likevel. Hvordan lager jeg en slik CSS fil som definerer plassering? Lenke til kommentar
TorS Skrevet 20. juni 2004 Del Skrevet 20. juni 2004 En div er egentlig bare en samling elementer. Du kan definere plasseringen av den i en ekstern fil ved å skrive denne kommandoen i <head> seksjonen av siden: <link href="stil.css" rel="stylesheet" type="text/css"> Her går jeg ut ifra at det eksterne stilarket heter stil.css... I det kan du definere hvor elementer skal være. Et eksempel på dette kan være som følger: stil.css: div { margin: 10px; padding: 0; } div#container { width: 700px; margin: 0 auto; /*For å midtstille*/ } div#header { width: 100%; } div#meny { width: 200px; float: left; } div#innhold { width:480px; margin-lefet: 210px } Her har jeg lagt til enda en div på hovedsiden... Container, som skal ligge rundt de andre div'ene og midtstille hele sida. meny-diven flyter mot venstre, og innhold-diven er satt til en fast bredde og med en margin som gjør at den står utenfor meny-diven. Det kan godt hende jeg har skrevet noe feil her, men jeg håper det hjalp til å belyse hvordan det kan gjøres. Lenke til kommentar
g0mpen Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 Tusen takk! Jeg skal prøve det nå Lenke til kommentar
g0mpen Skrevet 20. juni 2004 Forfatter Del Skrevet 20. juni 2004 (endret) Hm... virker ikke helt som planlagt... "Warning: Failed opening 'sider/.php' for inclusion (include_path='.:/usr/local/lib/php')in /hostadresse/public_html/sider/index.php on line 19" Siden åpnes, men selve innholdet kommer ikke frem, bare meny og en tom header (som ikke vises fordi den er hvit). Hvordan putter jeg et bilde i en div? Bare vanlig <img src="blablabla.type">? Det er sikkert en liten feil i koden... Edit: Må jeg legge til container <div>'en i html koden og kanskje? Dumme meg... Edit: Tror jeg har lagt til container feil, siden er iallefall ikke midstilt... selve innholdet virker fortsatt ikke... meny og header gjør... Endret 21. juni 2004 av g0mpen Lenke til kommentar
TorS Skrevet 21. juni 2004 Del Skrevet 21. juni 2004 For meg virker det som om du prøver å åpne index.php uten noe mer. Du må isåfall skrive index.php?innhold=main (eller hva nå en av php-filene som ligger under /sider heter...). Ellers kan du legge til følgende kode litt lenger opp koden... <?php if(is_file("sider/$_GET[innhold].php")) { //Sjekker om siden du prøver å åpne finnes... $innhold = $_GET[innhold]: } else { $innhold = "main"; } Dette gjør at den sjekker om filen du prøver å inkludere faktisk finnes, om ikke setter den $innhold til å være "main". Du må også gjøre om litt på koden nedover i fila, istedenfor include("sider/$_GET[innhold].php"); skriver du: include("sider/$innhold.php"); Å putte et bilde inn i en div gjøres som ellers ja Det er bare <img src=""> og så videre... Når det gjelder å midtstille siden må du ha en kode omtrent som denne: <div id="container"> <div id="header"> <img src="header_bilde.jpg"> </div> <div id="meny"> <a href="index.php?main">Hovedsiden</a> <a href="index.php?underside1">Underside1</a> <a href="index.php?underside2">Underside2</a> </div> <div id="innhold"> <?php include("sider/$_GET[innhold].php"); ?> </div> </div> Jeg håper det ble noe klarere nå. container-diven ligger rundt hele resten av siden som du ser, og definerer at den skal være 700 piksler bred, og midtstilt. Jeg vet ikke om det er sånn du har gjort det, eller om det er dette som er feil. Om det enda ikke virker kan det sikkert være lettere å hjelpe deg dersom du kommer med koden du jobber med Håper jeg gjorde noen av tingene du lurte på klarere. Lenke til kommentar
g0mpen Skrevet 21. juni 2004 Forfatter Del Skrevet 21. juni 2004 (endret) Takk igjen! Jeg tror det var jeg som gjorde noe feil der ja, jeg hadde iallefall lukket container diven på feil sted Prøve igjen nå... Edit: Virker fortsatt ikke. Her er koden: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="stil.css" rel="stylesheet" type="text/css"> </head> <body><?php if(is_file("sider/$_GET[innhold].php")) { //Sjekker om siden du prøver å åpne finnes... $innhold = $_GET[innhold]: } else { $innhold = "main"; } ?> <div id="container"> <div id="header"> <img src="bilde.jpg"> </div> <div id="meny"> <a href="index.php?main">Hovedsiden</a> <a href="index.php?underside1">Underside1</a> <a href="index.php?underside2">Underside2</a> </div> <div id="innhold"> <?php include("sider/$innhold.php"); ?> </div> </div> <div class="innhold"> </body> </html> Det er sikkert jeg som rota til noe, jeg ble litt forvirret med alle bitene jeg skulle putte inn... sikkert plassert de feil... Endret 21. juni 2004 av g0mpen Lenke til kommentar
TorS Skrevet 21. juni 2004 Del Skrevet 21. juni 2004 Du kan ta vekk <div class="innhold"> Det var en skrivefeil fra min side i den første koden jeg skrev. Det skulle selvsagt være id="innhold", og det har jeg rettet på i den andre koden. Når det gjelder siden nå, hva er det som ikke virker? Er det inkluderingsskriptet? Er det at den ikke midtstilles? Om ikke inkluderingsskriptet virker kan det være fordi du ikke har en fil i undermappa sider som heter main.php. Du må lage ei fil i den mappa for hve av valgene du har, med navnet som kommer etter innhold= i linken. Filen skal da ha endingen .php, men det kan du selvsagt endre i koden din senere hvis det er et problem. Når det gjelder om siden midtstilles eller ikke, kan det være en feil med stilarket ditt. Jeg ser du har linket til det, men har du opprettet en fil som heter "stil.css" og lagt den i den samme mappa som index.php? Har du kopiert inn den koden jeg skrev for den fila i en tidligere post? Utenom den ekstra diven ser koden din helt grei ut, og bør virke om du har gjort som jeg skriver ovenfor her. Lenke til kommentar
g0mpen Skrevet 21. juni 2004 Forfatter Del Skrevet 21. juni 2004 "Parse error: parse error in /hostadresse_her/public_html/sider/index.php on line 10" Så hvordan vil koden se ut ferdig rettet? Jeg blir litt forvirret her, med alle de små kodebitene... Lenke til kommentar
TorS Skrevet 21. juni 2004 Del Skrevet 21. juni 2004 Det er lett å glemme små ting når du driver sånn... Den feilen du får opp nå er på linje 10. Den linja er som følger. $innhold = $_GET[innhold]: Den skal endres til $innhold = $_GET['innhold']: Små feil utgjør mye her... Ellers skal den ferdige koden se ut som du har den ovenfor minus den ekstra diven jeg snakket om i forrige post. Lenke til kommentar
Torbjørn Skrevet 21. juni 2004 Del Skrevet 21. juni 2004 det vil ikke gi noen parse error, det er dårlig programmeringsskikk å ikke bruk '' rundt indekser i en assosiativ array fordi hvis de er definerte konstanter kan føre til forvirring. parse-erroren skyldes at det står kolon istedet for semikolon der. Lenke til kommentar
g0mpen Skrevet 25. juni 2004 Forfatter Del Skrevet 25. juni 2004 Det virker fortsatt ikke... kan dere hjelpe meg med å skrive hele koden på ny? Nå virker iallefall menyen og headeren igjen, men selve innholdet år parse error, og siden er ikke midtstilt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå