header location ongelma

Eli siis jos on kirjautuminen,
käyttäjä syöttää tunnuksen ja salasanan
ja sen jälkeen ohjataan sivulle sivu1.php

Niin onnistuuko (jos tunnukset oikein) niin ohjataan jotnekin muuten kuin header locationilla?

En haluaisi mielellään header locationilla, koska ennen tuota on paljon koodia ja erilaisia sisennyksiä yms. niin koodista tulee turhan sekavaa jos käyn poistaa kaikki tyhjät rivit yms.

Onnistuisiko tehdä heti php-tiedoston alkuun jonkinlainen funktio, esim.
function siirry()
{
header('location: sivu1.php');
}

ja sitten kutsutaan funktiota kohdassa
jos tunnukset oikein -->
siirry();

???
12565
Äänestä

Muut lukivat myös

Vastaukset 12

Vanhimmat

PHP koodissa olevat sisennykset tai rivinvaihdot eivät vaikuta header - funktioon. Lukaiseppa uudelleen tuo: http://fi.php.net/header.

Funktion jälkeen kannattaa käyttää exit funktiota, ettei scriptin suoritus jatku (jos se on muuten mahdollista).

Äänestä

Juu katsoppas http://fi.php.net/manual/en/ref.outcontrol.php tuo laittaa headerin alkuun vaikka lisäisitkin sen lopussa.

Mutta koita tehdä niin, että sulla on PHP ja (x)HTML erikseen, näin muokkaus jne... on myöhemmin helpompaa.

noiden välissä saa olla sisennyksiä jne... koska niitähän ei selaimelle lähetetä. Vain echo ja vastaavat tulostaa ne.

Äänestä
  • mutta, mutta.. tarkoitatko että PHP ja XHTML olisivat siis eri tiedostoissa?

    Äänestä

  • HJÄLPPIVA kirjoitti:

    mutta, mutta.. tarkoitatko että PHP ja XHTML olisivat siis eri tiedostoissa?

    "mutta, mutta.. tarkoitatko että PHP ja XHTML olisivat siis eri tiedostoissa?"

    Kyllä, tai no että sivun logiikka jne... jutut toisessa ja sitten ulkoasuun ja tiedostoon esittämiseen liittyvät jutut toisessa.

    Mikäli haluat muuttaa ulkoasuun liittyviä asioita niin se käy helposti template-tiedostoa muokkaamalla, päätätkin että haluat linkit myös RSS muotoon, niin se onnistuu helposti luomalla RSS template.

    Myös logiikka muutokset on helppo tehdä kun ei ole mitään XHTML juttuja sotkemassa. Tuo ohjausjuttu ei aiheuttaisi mitään ongelmia.

    Yksinkertainen esimerkki

    PHP-tiedosto:




    Template-tiedosto:
    XHTML löpinää
    otsikko
    lisää löpinää

    Äänestä

  • Jeajoeag kirjoitti:

    "mutta, mutta.. tarkoitatko että PHP ja XHTML olisivat siis eri tiedostoissa?"

    Kyllä, tai no että sivun logiikka jne... jutut toisessa ja sitten ulkoasuun ja tiedostoon esittämiseen liittyvät jutut toisessa.

    Mikäli haluat muuttaa ulkoasuun liittyviä asioita niin se käy helposti template-tiedostoa muokkaamalla, päätätkin että haluat linkit myös RSS muotoon, niin se onnistuu helposti luomalla RSS template.

    Myös logiikka muutokset on helppo tehdä kun ei ole mitään XHTML juttuja sotkemassa. Tuo ohjausjuttu ei aiheuttaisi mitään ongelmia.

    Yksinkertainen esimerkki

    PHP-tiedosto:




    Template-tiedosto:
    XHTML löpinää
    otsikko
    lisää löpinää

    Millä siis teen nuo template tiedostot?
    Olen kuullut Smartysta, erottaako tämä siis
    jotenkin automaattisesti koodista PHP:n ja
    HTML:n? Jos, niin onko tuo perinteinen windows -ohjelma vai vaatiiko ylimääräistä säätöä?

    Sulla muuten oli kyllä ekassa tiedostossa php-koodia ja tokassa html ja php-koodia, joten mikä järki?

    Äänestä

  • millä tehdä templatet? kirjoitti:

    Millä siis teen nuo template tiedostot?
    Olen kuullut Smartysta, erottaako tämä siis
    jotenkin automaattisesti koodista PHP:n ja
    HTML:n? Jos, niin onko tuo perinteinen windows -ohjelma vai vaatiiko ylimääräistä säätöä?

    Sulla muuten oli kyllä ekassa tiedostossa php-koodia ja tokassa html ja php-koodia, joten mikä järki?

    "Millä siis teen nuo template tiedostot?"

    Ihan samalla ohjelmalla millä tähänkin asti olet tehnyt sivujasi. Itse tykkään käyttää http://www.pspad.com/ joskin tuo on lähinnä vain monipuolinen tekstieditori, joten ihan aloittelijoille ei välttämättä parhain.


    "Olen kuullut Smartysta, erottaako tämä siis
    jotenkin automaattisesti koodista PHP:n ja
    HTML:n?"

    Smartyssä templateihin käytetään Smartyn omaa syntaksia joka muistuttaa aikapaljon PHP:n, tuo muunnos täytyy myös tehdä itse. Smartysta ei mielestäni saa mitään hyötyä, vaan joudut opettelemaan uuden syntaksin.

    Toki Smarty on silloin hyödyllinen jos monet muokkaa templateja, tällöin ei pääse tekemään haitallista PHP koodia.


    "Sulla muuten oli kyllä ekassa tiedostossa php-koodia ja tokassa html ja php-koodia, joten mikä järki?"

    Aivan, järki on nimenomaan siinä, että saadaan sivujen toiminnallisuus, logiikka jne... eriytettyä ulkoasusta.

    Template tiedostoihin tarvitsee ehtolauseita, silmukoita jne... niin miksi siinä ei käyttäisi PHP:tä?

    Tuolloin scriptien muokkaaminen on paljon helpompaa.

    Suosittelen tutustumaan MVC-maleihin http://en.wikipedia.org/wiki/Model-view-controller joka on vielä pitemmälle tuosta esimerkistäni.

    Äänestä

  • Jeajoeag kirjoitti:

    "Millä siis teen nuo template tiedostot?"

    Ihan samalla ohjelmalla millä tähänkin asti olet tehnyt sivujasi. Itse tykkään käyttää http://www.pspad.com/ joskin tuo on lähinnä vain monipuolinen tekstieditori, joten ihan aloittelijoille ei välttämättä parhain.


    "Olen kuullut Smartysta, erottaako tämä siis
    jotenkin automaattisesti koodista PHP:n ja
    HTML:n?"

    Smartyssä templateihin käytetään Smartyn omaa syntaksia joka muistuttaa aikapaljon PHP:n, tuo muunnos täytyy myös tehdä itse. Smartysta ei mielestäni saa mitään hyötyä, vaan joudut opettelemaan uuden syntaksin.

    Toki Smarty on silloin hyödyllinen jos monet muokkaa templateja, tällöin ei pääse tekemään haitallista PHP koodia.


    "Sulla muuten oli kyllä ekassa tiedostossa php-koodia ja tokassa html ja php-koodia, joten mikä järki?"

    Aivan, järki on nimenomaan siinä, että saadaan sivujen toiminnallisuus, logiikka jne... eriytettyä ulkoasusta.

    Template tiedostoihin tarvitsee ehtolauseita, silmukoita jne... niin miksi siinä ei käyttäisi PHP:tä?

    Tuolloin scriptien muokkaaminen on paljon helpompaa.

    Suosittelen tutustumaan MVC-maleihin http://en.wikipedia.org/wiki/Model-view-controller joka on vielä pitemmälle tuosta esimerkistäni.

    eli siis tuossa aikaisemmassa esimerkissäsi missä oli .tpl.php -tiedosto ja .php tiedosto, niin template tiedostossa on tuo toiminnallisuus, eli mitä tehdään (kirjoitetan tekstiä html:llä, tulostetaan linkkejä...) ja varsinainen koodi on tuossa php-tiedostossa?

    Äänestä

  • oikein... kirjoitti:

    eli siis tuossa aikaisemmassa esimerkissäsi missä oli .tpl.php -tiedosto ja .php tiedosto, niin template tiedostossa on tuo toiminnallisuus, eli mitä tehdään (kirjoitetan tekstiä html:llä, tulostetaan linkkejä...) ja varsinainen koodi on tuossa php-tiedostossa?

    Ymmärsit hieman väärin tai tavallaan oikein.

    Toiminnallisuudella tarkoitin esim foorumin tapauksessa viestien hakua tietokannasta, viestien lisäystä sinne jne... toimintoja mitä foorumi tarttee.

    Siis periaatteessa scriptit ovat täysin toimivia ilman templatea. Tällöin vain ei mitään tulosteta.


    Itse olen käyttänyt .tpl.php ja .php päätteitä sen takia kun .php on standarti, jos taas käyttäisi pelkkää .tpl niin oletuksena sitä ei editori osaa avata.

    Äänestä

  • Jeajoeag kirjoitti:

    Ymmärsit hieman väärin tai tavallaan oikein.

    Toiminnallisuudella tarkoitin esim foorumin tapauksessa viestien hakua tietokannasta, viestien lisäystä sinne jne... toimintoja mitä foorumi tarttee.

    Siis periaatteessa scriptit ovat täysin toimivia ilman templatea. Tällöin vain ei mitään tulosteta.


    Itse olen käyttänyt .tpl.php ja .php päätteitä sen takia kun .php on standarti, jos taas käyttäisi pelkkää .tpl niin oletuksena sitä ei editori osaa avata.

    joo.. jos teen vaikka palautelomakkeen, niin olisiko tällaisessa tapauksessa form -tiedosto eri tiedostossa ja itse skripti joka vastaanottaa tiedot eri tiedostossa?

    itseasiassa juuri noin olenkin tehnyt palautelomakkeen. mutta ne ovat olleet nimeltään tyyliin palaute.htm ja vastaanota.php

    kuuluisiko hyvään koodaustapaan siis, että nimeäisin ne palaute.tpl.php ja vastaanota.php ?

    Äänestä

  • HJÄLPPIVA kirjoitti:

    joo.. jos teen vaikka palautelomakkeen, niin olisiko tällaisessa tapauksessa form -tiedosto eri tiedostossa ja itse skripti joka vastaanottaa tiedot eri tiedostossa?

    itseasiassa juuri noin olenkin tehnyt palautelomakkeen. mutta ne ovat olleet nimeltään tyyliin palaute.htm ja vastaanota.php

    kuuluisiko hyvään koodaustapaan siis, että nimeäisin ne palaute.tpl.php ja vastaanota.php ?

    "jos teen vaikka palautelomakkeen, niin olisiko tällaisessa tapauksessa form -tiedosto eri tiedostossa ja itse skripti joka vastaanottaa tiedot eri tiedostossa?"

    Kyllä.


    "kuuluisiko hyvään koodaustapaan siis, että nimeäisin ne palaute.tpl.php ja vastaanota.php ?"

    Ei tuon nimeämisen tartte olla välttämättä tuommoinen. Tärkeintähän on että nimestä ja päätteestä näkee heti mistä on kyse. Ja itse olen nuo templatet laittanut eri hakemistoon, ja vielä niin että sen alla on hakemistot rss, teksti jne.... siis ne muodot mitä sivuistani kävijöille tarjotaan. Tuolloin on helppo hahmottaa missä muokattava tiedosto on.

    Yleensä käytän templatessa samaa nimeä kuin itse scriptissä ja ohjaimessa näin näkee helposti mitkä kuuluu mihinkin. Käytän siis mukautettua MVC:tä.

    Mielestäni tuo .htm ei hyvä, sillä tuon sekoittaa helposti staattisiin sivuihin. Siksi olisi hyvä, että templateilla olisi joka yksinöllinen pääte.

    Toki tämä on aikapitkälle mielipide asiakin, mitä itse pitää selkeänä.

    Äänestä

  • Jeajoeag kirjoitti:

    "jos teen vaikka palautelomakkeen, niin olisiko tällaisessa tapauksessa form -tiedosto eri tiedostossa ja itse skripti joka vastaanottaa tiedot eri tiedostossa?"

    Kyllä.


    "kuuluisiko hyvään koodaustapaan siis, että nimeäisin ne palaute.tpl.php ja vastaanota.php ?"

    Ei tuon nimeämisen tartte olla välttämättä tuommoinen. Tärkeintähän on että nimestä ja päätteestä näkee heti mistä on kyse. Ja itse olen nuo templatet laittanut eri hakemistoon, ja vielä niin että sen alla on hakemistot rss, teksti jne.... siis ne muodot mitä sivuistani kävijöille tarjotaan. Tuolloin on helppo hahmottaa missä muokattava tiedosto on.

    Yleensä käytän templatessa samaa nimeä kuin itse scriptissä ja ohjaimessa näin näkee helposti mitkä kuuluu mihinkin. Käytän siis mukautettua MVC:tä.

    Mielestäni tuo .htm ei hyvä, sillä tuon sekoittaa helposti staattisiin sivuihin. Siksi olisi hyvä, että templateilla olisi joka yksinöllinen pääte.

    Toki tämä on aikapitkälle mielipide asiakin, mitä itse pitää selkeänä.

    entäpä jos olisi kaksi formia, vaikkapa siis kirjautumistoiminto sivuille...

    Tällöin siis: kirjautuminen (formi) ja rekisteröityminen (formi).

    Olisivatko tällöin nuo html:t yhdessä tpl -tiedostossa vai kahdessa tpl -tiedostossa?

    Äänestä

  • HJÄLPPIVA kirjoitti:

    entäpä jos olisi kaksi formia, vaikkapa siis kirjautumistoiminto sivuille...

    Tällöin siis: kirjautuminen (formi) ja rekisteröityminen (formi).

    Olisivatko tällöin nuo html:t yhdessä tpl -tiedostossa vai kahdessa tpl -tiedostossa?

    Yhdessä, kahdessa tai jopa muussa templatessa riippuen mikä ratkaisu on juuri siihen tarkoitukseen parhain.

    Sekä miten haluat formin toimivan jos on kirjaantunut sisälle, näkyykö vaiko piilotetaan jne...

    Äänestä

Kommentoi aloitusta


HJÄLPPIVA kirjoitti:

Eli siis jos on kirjautuminen,
käyttäjä syöttää tunnuksen ja salasanan
ja sen jälkeen ohjataan sivulle sivu1.php

Niin onnistuuko (jos tunnukset oikein) niin ohjataan jotnekin muuten kuin header locationilla?

En haluaisi mielellään header locationilla, koska ennen tuota on paljon koodia ja erilaisia sisennyksiä yms. niin koodista tulee turhan sekavaa jos käyn poistaa kaikki tyhjät rivit yms.

Onnistuisiko tehdä heti php-tiedoston alkuun jonkinlainen funktio, esim.
function siirry()
{
header('location: sivu1.php');
}

ja sitten kutsutaan funktiota kohdassa
jos tunnukset oikein -->
siirry();

???

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu