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

714

    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. Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa

      En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod
      Ikävä
      22
      5124
    2. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      25
      4278
    3. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      27
      2441
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      34
      2234
    5. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      1988
    6. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      15
      1908
    7. En ole koskaan kokenut

      Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka
      Ikävä
      19
      1587
    8. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      12
      1521
    9. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      21
      1237
    10. Kerranki asiat oikein

      Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa
      Haapavesi
      10
      1164
    Aihe