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

709

    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. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      102
      4457
    2. Yleltä tyrmäävä uutinen

      Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/74
      Luterilaisuus
      382
      1178
    3. Missä mustasusi on?

      Suden aloituksia ei ole näkynyt moneen päivään.
      Ikävä
      186
      1052
    4. Pakko kertoa mies

      Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti
      Ikävä
      109
      1032
    5. Sinä vain tulit elämääni

      Ja joku tarkoitus sillä on ollut. Näyttämään mitä olen ja kuinka arvokas voisin olla. Se muutti ja käänsi elämäni suunna
      Ikävä
      83
      903
    6. Millaisia ajatuksia on kaivatusta ja tilanteestanne tänään?

      Kerro omista mietteistäsi tai lähetä terveisiä. Ehkä hän lukee ja lähettää sinulle takaisin omia mietteitään.
      Ikävä
      47
      901
    7. Miten koskettaisit häntä?

      Miten lähestyisit jos hän olisi lähelläsi nyt..
      Ikävä
      64
      891
    8. Riitta-Liisa ja Toni Roponen: Ero! Riitta-Liisa Roponen kertoo asiasta Instagramissa.

      Riitta-Liisa ja Toni Roponen eroavat. Riitta-Liisa Roponen kertoo asiasta Instagramissa. – Talvi on ollut elämäni synk
      Maailman menoa
      10
      847
    9. Mitä ajattelet

      Kaivattusi uskosta tai onko hän uskossa?
      Ikävä
      64
      846
    10. Onko se niin

      Että meillä molemmilla on niin isot egot ettei voi alentua myöntämään kuin tykkää toisesta
      Ikävä
      64
      816
    Aihe