Gå til innhold

Need help, please! (include-script)


Anbefalte innlegg

Heisann!

 

De av dere som leser denne tråden, ser at jeg er helt ny her inne. Jeg har nå brukt så og si hele dagen på å lete frem eldre tråder som inneholder include-script..

 

Det som er saken, er at jeg har laget ferdig designet på min fremtidige hjemmeside, og er også ganske interessert i å lære meg PHP, sakte men sikkert.

 

Det er mulig det er meg det er noe "gæærnt" med, mulig det er litt sent på kvelden også, men jeg trenger ærlig talt litt hjelp til å få til et slikt include-script.

 

Jeg har sett mange forskjellige saker, men jeg har jo skjønt såpass :dontgetit: , at det er lurest å ha et slikt som gjør det umulig for brukeren å "hacke" seg inn, eller hente ut uønskede filer.. Det er her jeg sliter litt tror jeg.. Samtidig vil jeg gjerne ha det følgende i linkene: <href="index.php?side=filnavn_uten_dot">.

 

Noen som skjønner hva jeg mener, og kunne være så snille og hjulpet en stakkars nybegynner?

 

Ble sikkert litt for langt for noen, men jeg har prøvd å beskrive så godt som mulig her.

 

Håper på positive svar. På forhånd, takk!

Lenke til kommentar
Videoannonse
Annonse
Nei. Filendelsen settes på etterpå. (Forutsatt at du faktisk har lest hele artikkelen, og ikke nøyet deg med skrekkeksempelet på side 1 ;) )

 

EDIT: Også skrekkeksempelet skipper filendelse i URL.

Hehe, ja, jeg har faktisk lest hele artikkelen, leste den tidligere i dag også, på siden din faktisk ;)

Så det vil si at jeg i linkene mine får da, et eksempel: index.php?side=filnavn_uten_dot ?

 

Så ved bruk av eksempel 1 på side to, får jeg også dette? Mulig det er jeg som gjør dette vanskeligere enn det egentlig er assa, men..

Lenke til kommentar

Ja, og ja.

 

URL vil for eksempel bli: index.php?s=forside. Det vil inkludere forside.php. Hvis det er aktuelt med andre filendelser, er det bare å endre på verdien til variabelen $filendelse.

 

PS: Du trenger egentlig ikke linke til index.php, da det holder med f.eks. www.domene.com/?s=artikler :)

Lenke til kommentar
PS: Du trenger egentlig ikke linke til index.php, da det holder med f.eks. www.domene.com/?s=artikler :)

Aha, nå ble det litt klarere her gitt ;) Takk skal du ha! Men en liten ting til, hehe...

 

Det jeg quota, hva mente du egentlig med det? Er rimelig blå når det gjelder PHP som du sikkert har skjønt.. Skal ha dette som kurs ved høgskolen min,etter jul skjønner du, men er litt utolmodig etter å komme igang...hehe..

Lenke til kommentar

Når jeg da har funnet ut "hvilket" include-script jeg skal benytte meg av, hva gjør jeg videre for å sette dette ut i live?

 

Har lest noen steder at jeg må legge til noe som dette: <? php include.......... ?> i den sida jeg skal ha includet på? Eller hvordan foregår dette?

 

Noen som har LITT bedre peil på dette enn meg, og som kan gi meg en fin forklaring? :blush:

Endret av OShea22
Lenke til kommentar

Hvis man bare legger til en linje som f.eks. denne:

 

<?php include "meny.php"; ?>

er det fordi man ganske enkelt skal inkludere en del av siden, som skal være fast uansett. Det som står i artikkelen min, er bruken av dynamiske include-script, som bruker en variabel i URL til å hente en del av en side.

 

Den enkleste måten å få include-scriptet "i gang" på er f.eks. følgende:

 

Du paster include-script-koden _inni_ den DIVen eller tabell-cellen du vil ha dataene inkludert. Så lager du en rekke sider som da er beregnet for å inkludere. Dette er vanligvis undersider, som f.eks. ommeg.php osv. Deretter er det bare å lage linker som passer til filnavnene som du helst vil inkludere.

 

PS: Filene du inkluderer skal ikke ha <html>, <head> og <body>-tags. Når du inkluderer en fil inn i en annen, er det det samme som å bruke copy'n'paste, og limer inn koden fra den ene filen istedenfor include-scriptet.

 

Hvis noe fremdeles er uklart, eller om det ikke skulle fungere, er det bare å spørre i vei. :)

Lenke til kommentar

Hmm...hvilken include-skript kode mener du da? Denne:

<?php

error_reporting(0);

$filnavn = $_GET['s'];

$filendelse = '.php';

 

if (!eregi("^((.*)/)", $filnavn)) {

include $filnavn . $filendelse;

}

else {

include "404.php";

}

?>

 

Eller denne: <?php include "meny.php"; ?>

 

Vil da min meny.php se slik ut?

 

<!-- Dette er min meny.-->

<hr width = 600 align=left>

<a href=index.php?s=hovedside>Hovedside</a>

osv....

 

 

Det er kanskje for mye å forlange med et superlite eksempel? :ermm:

 

EDIT: No one? :cry:

Endret av OShea22
Lenke til kommentar
<?php

error_reporting(0);

$filnavn = $_GET['s'];

$filendelse = '.php';

 

if (!eregi("^((.*)/)", $filnavn)) {

  include $filnavn . $filendelse;

}

else {

  include "404.php";

}

?>

 

Hvis du bruker denne, og kaller fila med f.eks. index.php?s=underside1, vil underside1.php bli inkludert på siden din. Det er da denne versjonen det er aktuelt å bruke. Hvis du derimot skriver index.php?s=underside2, vil underside2.php bli inkludert. Dette er altså den dynamiske metoden å gjøre det på.

 

Eller denne: <?php include "meny.php"; ?>

 

Hvis du bruker denne versjonen, vil du inkludere meny.php hver eneste gang du laster siden. Dette er uavhengig om du kaller siden med index.php?s=underside1, eller noe annet for den saks skyld...

 

Håper det hele ble litt klarere nå ;)

 

EDIT: Menyen din vil da bli seende ut omtrent som du skisserte den der ja.

Endret av TorS
Lenke til kommentar

Jeg kommer nok til å benytte meg av denne:

<?php

error_reporting(0);

$filnavn = $_GET['s'];

$filendelse = '.php';

 

if (!eregi("^((.*)/)", $filnavn)) {

include $filnavn . $filendelse;

}

else {

include "404.php";

}

?>

 

siden denne er et såklat dynamsik script. Men det jeg ennå ikke har forstått, er hvor jeg skal legge denne kodesnutten? I hver eneste side jeg bruker PHP på, eller trenger det bare være én spesiell?

Noen som skjønner hva jeg mener her? :dontgetit:

Endret av OShea22
Lenke til kommentar

Jeg regner med at du allerede har laget en side i (X)HTML. PHP-koden skal da lim inn i den første HTML-siden, den som viser forsiden, og inneholder hele layouten. Koden skal ikke limes inn på et vilkårlig sted, iom. at siden som inkluderes puttes inn der koden var. Hvis du setter PHP-koden helt øverst i dokumentet, blir siden din ganske knust, for å si det sånn. ;)

 

HTML-dokumentet ditt må lagres med en filendelse som .php. Dette er veldig viktig.

 

Include-scriptet vil nå gå helt greit av seg selv. I undersidene som skal inkluderes, skal du IKKE lime inn include-scriptet, men kun det av HTML-kode som trengs for å vise innholdet av den siden. <html>, <body> og <head> er selvsagt ikke nødvendig, siden det allerede finnes i forsiden, som include-scriptet inkluderer fra.

Lenke til kommentar

Aha! Nå begynner det å lysne ennå litt mer her skjønner du!

 

Koden skal ikke limes inn på et vilkårlig sted, iom. at siden som inkluderes puttes inn der koden var. Hvis du setter PHP-koden helt øverst i dokumentet, blir siden din ganske knust, for å si det sånn. ;)

 

Si jeg har en side som heter index.php da, som er min hovedside. Hvor på denne siden skal jeg da putte inn mitt includeskript, siden du sier at hvis jeg putter det øverst, vil det bli knust..

Lenke til kommentar

La oss si at de filene som skal inkluderes ser slik ut:

 

eksempel.php

<h1>Eksempeloverskrift</h1>
<p>Dette er en eksempelside, for johhny1337 sitt nye include-script. Se så enkelt det er!</p>
<hr />
<h2>Nyheter:</h2>
<p>Nyhet #1</p>
<hr />
<p>Nyhet #2</p>

 

Når du bruker URLen index.php?s=eksempel, vil filen inkluderes, og PHP-koden på en måte bli byttet ut med innholdet i eksempel.php. Hvis du plasserer include-koden i innholdstabellen din eller innholdsDIVen din (der hvor du vil at innholdet skal komme frem), vil det se fint ut. Hvis du derimot plasserer include-scriptet over <html>-taggen eller noe sånt, vil siden bli veldig ødelagt.

 

Kort versjon: include() erstatter seg selv med det som skal inkluderes.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...