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
PHP ja include
7
709
Vastaukset
- 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?
- NinaTai 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
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ä onnettomuudes1024457Yleltä tyrmäävä uutinen
Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/743821178- 1861052
Pakko kertoa mies
Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti1091032Sinä 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 suunna83903Millaisia 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.47901- 64891
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 synk10847- 64846
Onko se niin
Että meillä molemmilla on niin isot egot ettei voi alentua myöntämään kuin tykkää toisesta64816