PHP ja include

__Ninaa__

Olen tekemässä Internet – sivuja HTML:lla (olen käyttänyt myös CSS tyylien määrittelemiseen) Haluaisin hyödyntää sivuillani PHP:tä, sillä sivun rakenne pysyy kokoajan samana ja sivuilla on vain yksi alue jonka sisältö muuttuu. Nyt olisikin PHP:sta ja includen käytöstä hieman kysyttävää, jos joku osaisi vaikka neuvoa.

Olen ymmärtänyt sen, että muuttuvalle alueelle ladataan sisältö omista tekstitiedostoista. Voiko include – tiedostot nimetä .inc?

Muuttuvalla alueella on oltava ilmeisesti if – lause, jonka avulla selvitetään mikä teksti milläkin sivulla muuttuvaan kohtaan ladataan?

Minkälaista koodia inc – tiedostoon pitää laittaa vai riittääkö pelkkä teksti? Olisiko jollain pientä koodinpätkää tuosta php – osuudesta?

- Nina

7

747

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • teuro

      Hei!

      php:n includelle voidaan antaa mikä tahansa tiedosto päätteellä ei ole hirveästi merkitystä. Sisältöalueen sisällön tuottamiseen kannattaa uhrata aika paljonkin aikaa, koska sen tekeminen hyvin ei ole helppoa.

      Ensimmäinen kysymys onkin sinulle, että miten sisältö on tallennettu tietokanta / tiedostot? Ilmeisesti tiedostot tällä hetkellä entä tulevaisduudessa onko tarvetta tietokannalle? Tällä hetkellä tiedostot ovat varmasti riittävät, mutta entäs kun sivujen sisältöä halutaan muokata ehkä selaimella suoraan?

      Mitenkäs tietoturva raaka include($_GET['sivu'] . "txt"); on aika vaarallinen... Kaikki käyttäjältä tuleva data pitää siivota turvalliseksi. Yksi tapa on tehdä taulukko, jossa on sallitut tiedostot ja sen jälkeen verrata käyttäjän antamaa syötettä taulukon sisältöön.

      Vielä parempi on, jos karsii ihan hiukan käytettävyyttä ja laittaa $_GET muuttujan olemaan vain ja ainoastaan int tyyppisiä, jonka jälkeen $tiedosto = $tiedostot[$_GET['sivu']]; Tätä ennen tietenkin varmistus, että $_GET['sivu'] todella on int-tyyppinen esim $sivu = intval($_GET['sivu']);

      esimerkki valmiista ole hyvä.

      • __Ninaa__

        Kiitos Teuro vastauksestasi, nyt aukeni taas eteenpäin! :)

        Tällä hetkellä olen tehnyt rakenteen ulkonäöllisesti valmiiksi, ainoastaan tuon muuttuvan alueen olen jättänyt tyhjäksi, sillä siihen olisi tarkoitus hakea tiedot muualta. Kaikki sisältö on tällä hetkellä erillisissä Word – dokumenteissa. Voiko include – komennolla hakea suoraan .doc päätteisten tiedostojen sisältöä? tarvitseeko näissä ”includeen” liittyvissä dokumenteissa (tässä tapauksessa word) olla mitään koodia mukana?

        Sivut ovat sisällöltään sen tyyppiset, että mitään tietokantaa ei tällä hetkellä kuulemma tarvita ja sivujen päivittäminen on tarkoitus hoitaa muuttamalla juuri näitä Word – (tai mahdollisesti jotain muitakin mikäli parempi?) dokumentteja.

        Millä tavalla tuo käytettävyys kärsii mikäli käytetään tuota int – tyyppiä? Sitten viimeiseksi kysyn, että onko tuo yllä oleva koodinpätkä ok käytettäväksi ihan sellaisenaan? Toki tiedostonimet ja muut pitää vaihtaa.

        Onko näiden hakasulkeiden väliin tässä $tiedostot[] = "index.php"; kohdassa tarkoitus kirjoittaa mitä? Olen ehkä hieman kuutamolla, mutta eiköhän se tästä!

        - Nina


      • teuro
        __Ninaa__ kirjoitti:

        Kiitos Teuro vastauksestasi, nyt aukeni taas eteenpäin! :)

        Tällä hetkellä olen tehnyt rakenteen ulkonäöllisesti valmiiksi, ainoastaan tuon muuttuvan alueen olen jättänyt tyhjäksi, sillä siihen olisi tarkoitus hakea tiedot muualta. Kaikki sisältö on tällä hetkellä erillisissä Word – dokumenteissa. Voiko include – komennolla hakea suoraan .doc päätteisten tiedostojen sisältöä? tarvitseeko näissä ”includeen” liittyvissä dokumenteissa (tässä tapauksessa word) olla mitään koodia mukana?

        Sivut ovat sisällöltään sen tyyppiset, että mitään tietokantaa ei tällä hetkellä kuulemma tarvita ja sivujen päivittäminen on tarkoitus hoitaa muuttamalla juuri näitä Word – (tai mahdollisesti jotain muitakin mikäli parempi?) dokumentteja.

        Millä tavalla tuo käytettävyys kärsii mikäli käytetään tuota int – tyyppiä? Sitten viimeiseksi kysyn, että onko tuo yllä oleva koodinpätkä ok käytettäväksi ihan sellaisenaan? Toki tiedostonimet ja muut pitää vaihtaa.

        Onko näiden hakasulkeiden väliin tässä $tiedostot[] = "index.php"; kohdassa tarkoitus kirjoittaa mitä? Olen ehkä hieman kuutamolla, mutta eiköhän se tästä!

        - Nina

        Älä tee mitään word-dokumenttia, vaan ihan paljas tekstitiedosto, jossa on siis normalit html-merkkaukset tehtynä. Paras olisi, jos jaksaisit tehdä ihan oman käsittelijän noille sisältötiedostoille, mutta se ei ole nyt pääasia.

        Ihan ensimmäiseksi siis eroon word dokumenteista, sen jälkeen tiedot vaikkapa tekstitiedostoon, jonka pääte on vaikkapa .html ja siellä merkkaukset linkeille ja muille elementeille.

        $tiedostot[] = "jotakin.php"; on tarkoituksella avoimet hakasulut, koska tuo tekee aina automaattiseti yhden isomman indeksi kuin edellinen.

        $file[] //indeksi = 0
        $file[] //indeksi = 1
        $file['pekka'] //indeksi = pekka
        $file[] // indeksi = 2
        jne...

        esimerkki sisällöstä



        Moikka

        tekstiä paljon

        teksti



        Lisää tekstiä



        Tallenna tuo vaikka etusivu.html ja liitä se php:n avulla kuten olen yllä näyttänyt lisäät vain tuon etusivun.html taulukkoon. Muistathan, että taulukon avulla voit myös helpolla tehdä linkitkin, koska silloin siellä on ne ja vain ne, jotka haluatkin siellä olevan.


      • __Ninaa__
        teuro kirjoitti:

        Älä tee mitään word-dokumenttia, vaan ihan paljas tekstitiedosto, jossa on siis normalit html-merkkaukset tehtynä. Paras olisi, jos jaksaisit tehdä ihan oman käsittelijän noille sisältötiedostoille, mutta se ei ole nyt pääasia.

        Ihan ensimmäiseksi siis eroon word dokumenteista, sen jälkeen tiedot vaikkapa tekstitiedostoon, jonka pääte on vaikkapa .html ja siellä merkkaukset linkeille ja muille elementeille.

        $tiedostot[] = "jotakin.php"; on tarkoituksella avoimet hakasulut, koska tuo tekee aina automaattiseti yhden isomman indeksi kuin edellinen.

        $file[] //indeksi = 0
        $file[] //indeksi = 1
        $file['pekka'] //indeksi = pekka
        $file[] // indeksi = 2
        jne...

        esimerkki sisällöstä



        Moikka

        tekstiä paljon

        teksti



        Lisää tekstiä



        Tallenna tuo vaikka etusivu.html ja liitä se php:n avulla kuten olen yllä näyttänyt lisäät vain tuon etusivun.html taulukkoon. Muistathan, että taulukon avulla voit myös helpolla tehdä linkitkin, koska silloin siellä on ne ja vain ne, jotka haluatkin siellä olevan.

        Muutin wordit html -muotoon. Pitääkö tuo php - koodinpätkä lisätä sivulla siihen ns. muuttuvalle alueelle (tässä tapauksessa :n sisään? Miten voin määrittää sen että esimerkiksi "Tietoa yrityksestä" -linkistä vaihtuu juuri se teksti siihen mihin pitääkin?

        Eli siis suomeksi, mihin kohtaan ja miten määrittelen sen mikä html - tiedosto avautuu milloinkin sille varattuun tilaan?

        Ymmärtääkseni linkkien "koodit" pitää muuttaa jotenkin? Miten se käytännössä tapahtuu? :) tai minkälaiset pätkät koodia linkkien kohdalle laitetaan?

        - Nina


      • __Ninaa__
        __Ninaa__ kirjoitti:

        Muutin wordit html -muotoon. Pitääkö tuo php - koodinpätkä lisätä sivulla siihen ns. muuttuvalle alueelle (tässä tapauksessa :n sisään? Miten voin määrittää sen että esimerkiksi "Tietoa yrityksestä" -linkistä vaihtuu juuri se teksti siihen mihin pitääkin?

        Eli siis suomeksi, mihin kohtaan ja miten määrittelen sen mikä html - tiedosto avautuu milloinkin sille varattuun tilaan?

        Ymmärtääkseni linkkien "koodit" pitää muuttaa jotenkin? Miten se käytännössä tapahtuu? :) tai minkälaiset pätkät koodia linkkien kohdalle laitetaan?

        - Nina

        Tai lähinnä ei tablen vaan nimenomaan td:n sisään.

        $tiedosto = $tiedostot[$sivu];

        require($tiedosto);

        Missä muodossa tiedoston nimet täytyy noissa kahdessa ylläolevassa kirjoittaa? saisiko niistä jonkun esimerkin?


      • __Ninaa__
        __Ninaa__ kirjoitti:

        Tai lähinnä ei tablen vaan nimenomaan td:n sisään.

        $tiedosto = $tiedostot[$sivu];

        require($tiedosto);

        Missä muodossa tiedoston nimet täytyy noissa kahdessa ylläolevassa kirjoittaa? saisiko niistä jonkun esimerkin?

        Kysyn nyt kolmannenkin viestin verran heti perään. Eli siis käsittääksenihän asia menee niin, että tuossa muuttuvalla alueella olisi if lause, joka tutkisi mikä on url:sta saatavan muuttujan arvo? Olenkohan ymmärtänyt oikein? Mutta miten tuo if käytännössä tulee tuohon? Jos on esimerkiksi linkit Auto, Vene, Laiva, Mopo? Ten saan tuolle alueelle aukeamaan aina tiedot oikeasta linkistä?


      • teuro
        __Ninaa__ kirjoitti:

        Kysyn nyt kolmannenkin viestin verran heti perään. Eli siis käsittääksenihän asia menee niin, että tuossa muuttuvalla alueella olisi if lause, joka tutkisi mikä on url:sta saatavan muuttujan arvo? Olenkohan ymmärtänyt oikein? Mutta miten tuo if käytännössä tulee tuohon? Jos on esimerkiksi linkit Auto, Vene, Laiva, Mopo? Ten saan tuolle alueelle aukeamaan aina tiedot oikeasta linkistä?

        Ei mihinkään tule if-lausetta, koska milloinkaan ei tulla tilannetta, jossa joudutaan päättämään tuolla rakentella mitä tehdään. Tehdään siis näin tämän voit kopioida suoraan ja käyttää miten haluat.

           


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Hallitus pyrkii rajoittamaan kaupan omien halpamerkkien myyntiä

      Helsingin Sanomien mukaan hallitus valmistelee lakihanketta, joka suitsii kaupan valtaa ja rajoittaa omien halpamerkkien
      Yhteiskunta
      123
      2604
    2. Kysy jotain kaivatultasi

      Tämä ketju on sitä varten.
      Ikävä
      229
      2063
    3. Huomenna sähkö maksaa jo yli 60 snt/kWh. Milloin ALV putoaa?

      Kysynkin persuilta, että milloin aiotte pudottaa sähkön arvonlisäveron kuten Marinin hallitus teki sähkön hinnan noustes
      Maailman menoa
      184
      1838
    4. Tapettu

      On joku kangaskadulla perjantaina
      Sotkamo
      49
      1693
    5. Persut päättivät hiilivoimaloiden alasajosta

      Persut ovat Suomen kansan vastainen putinistiporukka, josta nyt maksamme kovaa hintaa.
      Maailman menoa
      119
      1441
    6. Muistattekos kuinka kokoomus ja persut vinkuivat sähkön hinnasta?

      Oppositiossa vuonna 2022, kun sähkön hinta uhkasi nousta 20 senttiin kilowattitunnilta? Nyt ovat hiiren hiljaa, kun pitä
      Maailman menoa
      57
      1345
    7. Mitä ajattelet hänestä

      Millaisena pidät kaivattuasi?
      Ikävä
      122
      1158
    8. Onko jollekin vielä epäselvää Raamatun kanta homoseksuaaliseen käytökseen?

      😺 On oma mielipiteesi mikä tahansa on hyvä muistaa, mikä on Jumalan mielipide. Edelliset ketjut ovat tulleet täyteen jo
      Luterilaisuus
      285
      930
    9. Mietin sua liikaa

      Mietin nytkin sitä, että millaista se olisi tulla kotiin, kun sinä olisit täällä vastassa. Tai niin päin, että sinä tuli
      Ikävä
      65
      825
    10. Vanhemmassa miehessä

      on sellaista elämän mukana tullutta viehättävää charmia. Hän paranee iän myötä niinkuin hyvä viini tai juusto! Tuli tuo
      Ikävä
      64
      789
    Aihe