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

737

    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. Maatalous- ja yritystuet pois, työeläkevaroilla valtion velka pois

      Suomi saadaan eheytettyä kädenkäänteessä, kun uskalletaan tehdä rohkeita ratkaisuja. Maatalous- ja yritystuet ovat hait
      Maailman menoa
      98
      3582
    2. Hei! Halusin vain kertoa.

      En tiedä luetko näitä, mutta näimme n.4vk sitten, vaihdoimme muutaman sanan ja tunsin edelleen kipinän välillämme. Katso
      Tunteet
      5
      1989
    3. Miksi ikävä ei helpotu vuosien jälkeenkään?

      Tänään olin ensimmäistä kertaa sinun lähtösi jälkeen tilassa, jossa vuosia sitten nähtiin ensimmäistä kerta. Ollessani
      Rakkaus ja rakastaminen
      7
      1760
    4. Teboili alasajo on alkanut

      Niinhän siinä kävi että teebboili loppuu...
      Suomussalmi
      35
      1486
    5. Tiesitkö? Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi seksuaalirikollinen

      Järkyttävää… Motin mukaan Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi yksityiselämässään syyllistynyt es
      Maailman menoa
      58
      996
    6. Oot kyl rakas

      Et tiiäkkään miten suuri vaikutus sulla on mun jaksamiseen niin töissä, kun vapaallakin❤️. Oot täysin korvaamaton. En t
      Ikävä
      36
      940
    7. Kirjoittaisit edes jotain josta tiedän

      Varmasti oletko se oikeasti sinä. Tänään tälläinen olo. 🫩
      Ikävä
      70
      882
    8. Miten voitkin olla aina niin fiksu

      ...aina niin huomaavainen, kärryillä ja kartalla. Yritän etsimällä etsiä sinusta jotain vikaa, että saisin pidettyä sydä
      Ikävä
      47
      840
    9. Sofia Zida puhuu rehellisesti suhteesta Andy McCoyhin: "Se on ollut mulle tavallaan..."

      Sofia ja Andy, aika hellyttävä parivaljakko. Sofia Zida on mukana Petolliset-sarjassa. Hänet nähtiin Yökylässä Maria Ve
      Suomalaiset julkkikset
      4
      817
    10. Mistä tietää, onko hän se oikea?

      Siitä, kun sitä ei tarvitse miettiä. Siitä, kun hänen olemassa oleminen ja ajatteleminen saa hymyilemään. Siitä, kun ha
      Ikävä
      60
      804
    Aihe