Missä lienee ongelma, kun en saa rivinvaihtoa "\n" suoritettua PHP:ssä (enkä edes "\r\n", "\r" tai "\t"). Tämän takia olen joutunut turvautumaan HTML:n tageihin, mutta olisi myös hauska, jos saisin ne myös PHP:ssä toimimaan.
Käsittääkseni virhe ei voi olla PHP:n versiossa, joka on nelosen uusin. Voisikohan virhe liittyä jotenin kirjastoihin?
Kiitos
RIVINVAIHTO Ongelma
12
1313
Vastaukset
- Undefined
Vaikea sanoa mitään ilman esimerkkikoodia.
Tiedäthän sen, että tavalliset rivinvaihdot (\n) eivät ole HTML:ssä merkitseviä kuin PRE-elementin sisällä? Muulloin tulee käyttää BR-elementtiä rivinvaihtoon. Harvemmin WWW-sivuille on kyllä tarvetta rivinvaihtoja tunkeakaan.
PHP:n versiota 4 ei kannata käyttää, jos siihen ei ole jotain erityisen pakottavaa syytä. - -----
*Missä lienee ongelma, kun en saa rivinvaihtoa "\n" suoritettua PHP:ssä (enkä edes "\r\n", "\r" tai "\t"). Tämän takia olen joutunut turvautumaan HTML:n tageihin, mutta olisi myös hauska, jos saisin ne myös PHP:ssä toimimaan.*
Kyl nuo toimii. Katsoppas sivun lähdekoosit siel komeilee rivinvaihto. Selainhan ei välitä tuommosista rivinvaihdoista mitään, ellei ole pre tagin sisäl.
Esim lähdekoodissa
1
2
3
Selaimessa näät tuon
123
Jos lähdekoodissa näin
1
2
3
Selaimessa näät
1
2
3
Tutustuppas http://fi.php.net/manual/fi/function.nl2br.php se muuntaa nuo rivinvaihdot (x)HTML muotoon.
Nuilla rivinvaihdoilla pystyt tekemään HTML koodista selkeää ja luettavaa mikäli haluaa. Käyttäen sisennyksiä lisäks.- = )Ö
Toimii! :) - mutta kumpaako on suositeltavaa käyttää vai tuota nl2br-funktiota?
*****
Ja vielä yksi pieni juttu mistähän johtuu, että error tulee edelleen function eteen huolimatta @-merkistä?
Example - Division by Zero:
Thanks! - -----
= )Ö kirjoitti:
Toimii! :) - mutta kumpaako on suositeltavaa käyttää vai tuota nl2br-funktiota?
*****
Ja vielä yksi pieni juttu mistähän johtuu, että error tulee edelleen function eteen huolimatta @-merkistä?
Example - Division by Zero:
Thanks!*mutta kumpaako on suositeltavaa käyttää vai tuota nl2br-funktiota?*
Riippuu ihan käyttötarkoituksesta. Tuo pre esittää tekstin semmoisenaan joten käytetään yleensä koodiesimerkeissä jne.... Ei sivun varsinaisessa tekstissä.
*Ja vielä yksi pieni juttu mistähän johtuu, että error tulee edelleen function eteen huolimatta @-merkistä?*
Nollalla kun ei voi jakaa. Itselläni tuo @ piilottaa errorin tuossakin tapauksessa. Tosin testialustana PHP 5. Tuossa errorien piilottamisessa on omat vaaransa, joten ennemmin kannattaa vaik logittaa virheet kuin piilottaa ne kokonaan. Ei tartte kuin pikkuinen typö ja olet ongelman edessä. - -----
----- kirjoitti:
*mutta kumpaako on suositeltavaa käyttää vai tuota nl2br-funktiota?*
Riippuu ihan käyttötarkoituksesta. Tuo pre esittää tekstin semmoisenaan joten käytetään yleensä koodiesimerkeissä jne.... Ei sivun varsinaisessa tekstissä.
*Ja vielä yksi pieni juttu mistähän johtuu, että error tulee edelleen function eteen huolimatta @-merkistä?*
Nollalla kun ei voi jakaa. Itselläni tuo @ piilottaa errorin tuossakin tapauksessa. Tosin testialustana PHP 5. Tuossa errorien piilottamisessa on omat vaaransa, joten ennemmin kannattaa vaik logittaa virheet kuin piilottaa ne kokonaan. Ei tartte kuin pikkuinen typö ja olet ongelman edessä.Erroreist kannattaa vilkast http://fi.php.net/errorfunc siel on ihan ok erroreiden käsittelijä josta pienel muokkauksel saa ihan toimivan.
- = )Ö
----- kirjoitti:
Erroreist kannattaa vilkast http://fi.php.net/errorfunc siel on ihan ok erroreiden käsittelijä josta pienel muokkauksel saa ihan toimivan.
Lukasin tota manuaali ja vaikuttaa todella mielenkiintoiselta. :) Itse on tarkoituksena koodailla nettisivu, joten tuo matsku näyttäisi tulevan todella tarpeeseen. Minkä kannattaisi sitten valita noista virhetasoista E_NOTICE, E_STRICT vai jokin muu?
En tiedä ymmärsinkö oikein, mutta noi muutokset taidedaan tehdä PHP.ini tiedostoon muukaan lukien tuo erroreiden käsittelijää koskeva koodi?! Minkälaisia muutoksia muuten itse teit tuohon koodiin?
Kiitos! - -----
= )Ö kirjoitti:
Lukasin tota manuaali ja vaikuttaa todella mielenkiintoiselta. :) Itse on tarkoituksena koodailla nettisivu, joten tuo matsku näyttäisi tulevan todella tarpeeseen. Minkä kannattaisi sitten valita noista virhetasoista E_NOTICE, E_STRICT vai jokin muu?
En tiedä ymmärsinkö oikein, mutta noi muutokset taidedaan tehdä PHP.ini tiedostoon muukaan lukien tuo erroreiden käsittelijää koskeva koodi?! Minkälaisia muutoksia muuten itse teit tuohon koodiin?
Kiitos!*Minkä kannattaisi sitten valita noista virhetasoista E_NOTICE, E_STRICT vai jokin muu?*
Tämäkin on sellainen asia et käyttötarkoitus ja tottumus määrää. Scriptejä tehdessä kaikki errorit näkyviin E_ALL tai sitten kaikki errorit mutta noticet pois E_ALL & ~E_NOTICE, tällöin ei huomatuta alustamattomista muuttujista jne..., mutta tässä taas on omat vaaransa. Tuo E_STRICT on vasta PHP 5 juttuja.
Samat asetukset voi olla silloinkin kun sivusto/scripti on julkaistu, kunhan virheet ei näy käyttäjälle liikaa tietoa. Tai sit voi laittaa scriptin alkuun ini_set('display_errors', 0); joka estää errorien näkymisen kävijälle tai .htaccess tiedostoon php_value display_errors off. Tosin onneksi nykyään oletuksenä display_errors = off mutta silti kumma hinku palvelimien pitäjillä muuttaa tuo on asentoon, vaik turvallisempa olisi, että käyttäjä sen itse muuttaisi niin halutessaan.
*En tiedä ymmärsinkö oikein, mutta noi muutokset taidedaan tehdä PHP.ini tiedostoon muukaan lukien tuo erroreiden käsittelijää koskeva koodi?*
Noita sivun alussa mainittuja pystyy muuttamaan ihan scriptistä käsin ja .htaccess tiedostosta, viestin alussa mainitul taval.
php.ini ja httpd.conf tiedostoja ei pysty itse muokkaamaan mikäli et ole palvelimen ylläpitäjä. Tosin joissain on käyttäjäkohtasia php.ini tiedostoja jolloin pystyy muokkaamaan.
Vilkases http://fi.php.net/manual/fi/ini.php niin näät mitä kaikkea PHP:n asetuksia pystyy säätämään vaik et ylläpitäjä olisikaan.
Tuo erroreiden käsittelijä laitetaan joka sivun alkuun vaikkapa includella. Se on ihan normaali scriptin pätkä set_error_handler("userErrorHandler"); sanoo PHP:lle, että tuota userErrorHandler functiota käytetään oman error käsittelijän sijast.
Tuos sivun alus oli kyl vähäsen turhahkoa asiaa joita ei tartte välttämättä säätää ellei halua saattaa sekoittaakkin. Joten vilkaseppas http://fi.php.net/manual/fi/function.set-error-handler.php siel on hieman toisenlainen ehkä selvempi esimerkki, mut ei niin käytännöllinen tuollaisenaan.
*Minkälaisia muutoksia muuten itse teit tuohon koodiin?*
Lähinnä ettei logita noticeja, ilmoittaa vakavista virheistä SMS viestillä emailin lisäksi, yrittää uudestaan muutaman kertaan tietokantaan ennenkuin ilmoittaa tietokantaongelmista sekä yrittää korjata automaattisesti tauluja jos vikaantuu, debuggaus ominaisuuden, sekä kertoo käyttäjälle pientä informaatiota virheestä. Noiden lisäks pientä pikkusäätöä. Aika pieniä muutoksia loppujenlopus. - = )Ö
----- kirjoitti:
*Minkä kannattaisi sitten valita noista virhetasoista E_NOTICE, E_STRICT vai jokin muu?*
Tämäkin on sellainen asia et käyttötarkoitus ja tottumus määrää. Scriptejä tehdessä kaikki errorit näkyviin E_ALL tai sitten kaikki errorit mutta noticet pois E_ALL & ~E_NOTICE, tällöin ei huomatuta alustamattomista muuttujista jne..., mutta tässä taas on omat vaaransa. Tuo E_STRICT on vasta PHP 5 juttuja.
Samat asetukset voi olla silloinkin kun sivusto/scripti on julkaistu, kunhan virheet ei näy käyttäjälle liikaa tietoa. Tai sit voi laittaa scriptin alkuun ini_set('display_errors', 0); joka estää errorien näkymisen kävijälle tai .htaccess tiedostoon php_value display_errors off. Tosin onneksi nykyään oletuksenä display_errors = off mutta silti kumma hinku palvelimien pitäjillä muuttaa tuo on asentoon, vaik turvallisempa olisi, että käyttäjä sen itse muuttaisi niin halutessaan.
*En tiedä ymmärsinkö oikein, mutta noi muutokset taidedaan tehdä PHP.ini tiedostoon muukaan lukien tuo erroreiden käsittelijää koskeva koodi?*
Noita sivun alussa mainittuja pystyy muuttamaan ihan scriptistä käsin ja .htaccess tiedostosta, viestin alussa mainitul taval.
php.ini ja httpd.conf tiedostoja ei pysty itse muokkaamaan mikäli et ole palvelimen ylläpitäjä. Tosin joissain on käyttäjäkohtasia php.ini tiedostoja jolloin pystyy muokkaamaan.
Vilkases http://fi.php.net/manual/fi/ini.php niin näät mitä kaikkea PHP:n asetuksia pystyy säätämään vaik et ylläpitäjä olisikaan.
Tuo erroreiden käsittelijä laitetaan joka sivun alkuun vaikkapa includella. Se on ihan normaali scriptin pätkä set_error_handler("userErrorHandler"); sanoo PHP:lle, että tuota userErrorHandler functiota käytetään oman error käsittelijän sijast.
Tuos sivun alus oli kyl vähäsen turhahkoa asiaa joita ei tartte välttämättä säätää ellei halua saattaa sekoittaakkin. Joten vilkaseppas http://fi.php.net/manual/fi/function.set-error-handler.php siel on hieman toisenlainen ehkä selvempi esimerkki, mut ei niin käytännöllinen tuollaisenaan.
*Minkälaisia muutoksia muuten itse teit tuohon koodiin?*
Lähinnä ettei logita noticeja, ilmoittaa vakavista virheistä SMS viestillä emailin lisäksi, yrittää uudestaan muutaman kertaan tietokantaan ennenkuin ilmoittaa tietokantaongelmista sekä yrittää korjata automaattisesti tauluja jos vikaantuu, debuggaus ominaisuuden, sekä kertoo käyttäjälle pientä informaatiota virheestä. Noiden lisäks pientä pikkusäätöä. Aika pieniä muutoksia loppujenlopus.Eikö toi Debuggaus ominaisuus ja Error Handling ole sitten automaattisesti päällä PHP 5:ssa? Pärjääkö ilman noita ominaisuuksia? (Käyttö: websivun teko)
"Tai sit voi laittaa scriptin alkuun ini_set('display_errors', 0); joka estää errorien näkymisen kävijälle tai .htaccess tiedostoon php_value display_errors off."
Pääseekö tohon .htaccess tiedostoon edes textieditorilla käsiksi vai muutetaanko sitä vain noilla stripteillä? Onko noissa PHP.ini'ssä ja .htaccess'ssa periaatteessa samat tiedot eli ne toimii rinnan, kun voi saman asian hoitaa molempien tiedostojen kautta?! - -----
= )Ö kirjoitti:
Eikö toi Debuggaus ominaisuus ja Error Handling ole sitten automaattisesti päällä PHP 5:ssa? Pärjääkö ilman noita ominaisuuksia? (Käyttö: websivun teko)
"Tai sit voi laittaa scriptin alkuun ini_set('display_errors', 0); joka estää errorien näkymisen kävijälle tai .htaccess tiedostoon php_value display_errors off."
Pääseekö tohon .htaccess tiedostoon edes textieditorilla käsiksi vai muutetaanko sitä vain noilla stripteillä? Onko noissa PHP.ini'ssä ja .htaccess'ssa periaatteessa samat tiedot eli ne toimii rinnan, kun voi saman asian hoitaa molempien tiedostojen kautta?!*Eikö toi Debuggaus ominaisuus ja Error Handling ole sitten automaattisesti päällä PHP 5:ssa?*
On (tai ei riippuu miten tän haluaa käsittää), mutta haluan käyttää omaa tekelettä tällöin pystyy itse päättää tarkalleen mitä haluaa.
Debuggauksella tarkoitin, että kun kirjaantuu admin tunnuksilla sivuille niin halutessa saa virheet ja muuta tärkeellistä tietoa kuten tietokanta kyselyt näkyville. PHP:n omassa toteutuksessahan moinen ei onnistu.
Tietenkin ini_set avulla vois määritellä adminille virheet näkyviin jne... Mutta mielestäni on helpompaa kun kaik on samassa paikkaa tällöin tarvittavat muutokset on helppo tehdä. Sekä ennenkaikkea tuota omaa tekemää erroreiden hallintaa voi käyttää suoraan sellaisenaan muissakin sivu projekteissa.
Tottahan toki ilman noita hienouksia pärjää, kaikki riippuu mitä sinä vaadit. Aluksi voit käyttää vaikkapa sitä esimerkkiä melkein sellaisenaan mikä tallentaa ja mailaa virheet jos tarvetta niin lisäilet siihen pikkihiljaa ominaisuuksia mitä tarttet. Turhaa laittaa mitään ominaisuuksia mille ei itsellä ole mitään tarvetta.
*Pääseekö tohon .htaccess tiedostoon edes textieditorilla käsiksi vai muutetaanko sitä vain noilla stripteillä?*
Pääsee toki. Tuo nimi tuottaa joillekkin editoreille vaikeuksia tallentaessa. Esim muistiossa tiedoston nimeksi tallennusvaiheessa pitää laittaa ".htaccess" muutoin muistio saattaa tallentaa .htaccess.txt joka ei tietenkään toimi.
Teet tuon tiedoston vaik muistiol ja laitat siihen halutut tiedot ja sitten vain siirrät sen normaalisti palvelimelle. Määrätyt asetukset koskevat sitten myös alikansioitakin.
*Onko noissa PHP.ini'ssä ja .htaccess'ssa periaatteessa samat tiedot eli ne toimii rinnan, kun voi saman asian hoitaa molempien tiedostojen kautta?!*
Periaatteessa kyl, php.ini'ssä määrätään oletusarvot tarvittaessa niitä voi muuttaa .htaccess'ssa. Tosin ei ihan kaikkia asetuksia, kuten palvelimen turvallisuuteen ja tehokkuuteen vaikuttavia. Ei mitään pelkoa et vahingossa niitä muuttaisit, koska se ei onnistu. - = )Ö
----- kirjoitti:
*Eikö toi Debuggaus ominaisuus ja Error Handling ole sitten automaattisesti päällä PHP 5:ssa?*
On (tai ei riippuu miten tän haluaa käsittää), mutta haluan käyttää omaa tekelettä tällöin pystyy itse päättää tarkalleen mitä haluaa.
Debuggauksella tarkoitin, että kun kirjaantuu admin tunnuksilla sivuille niin halutessa saa virheet ja muuta tärkeellistä tietoa kuten tietokanta kyselyt näkyville. PHP:n omassa toteutuksessahan moinen ei onnistu.
Tietenkin ini_set avulla vois määritellä adminille virheet näkyviin jne... Mutta mielestäni on helpompaa kun kaik on samassa paikkaa tällöin tarvittavat muutokset on helppo tehdä. Sekä ennenkaikkea tuota omaa tekemää erroreiden hallintaa voi käyttää suoraan sellaisenaan muissakin sivu projekteissa.
Tottahan toki ilman noita hienouksia pärjää, kaikki riippuu mitä sinä vaadit. Aluksi voit käyttää vaikkapa sitä esimerkkiä melkein sellaisenaan mikä tallentaa ja mailaa virheet jos tarvetta niin lisäilet siihen pikkihiljaa ominaisuuksia mitä tarttet. Turhaa laittaa mitään ominaisuuksia mille ei itsellä ole mitään tarvetta.
*Pääseekö tohon .htaccess tiedostoon edes textieditorilla käsiksi vai muutetaanko sitä vain noilla stripteillä?*
Pääsee toki. Tuo nimi tuottaa joillekkin editoreille vaikeuksia tallentaessa. Esim muistiossa tiedoston nimeksi tallennusvaiheessa pitää laittaa ".htaccess" muutoin muistio saattaa tallentaa .htaccess.txt joka ei tietenkään toimi.
Teet tuon tiedoston vaik muistiol ja laitat siihen halutut tiedot ja sitten vain siirrät sen normaalisti palvelimelle. Määrätyt asetukset koskevat sitten myös alikansioitakin.
*Onko noissa PHP.ini'ssä ja .htaccess'ssa periaatteessa samat tiedot eli ne toimii rinnan, kun voi saman asian hoitaa molempien tiedostojen kautta?!*
Periaatteessa kyl, php.ini'ssä määrätään oletusarvot tarvittaessa niitä voi muuttaa .htaccess'ssa. Tosin ei ihan kaikkia asetuksia, kuten palvelimen turvallisuuteen ja tehokkuuteen vaikuttavia. Ei mitään pelkoa et vahingossa niitä muuttaisit, koska se ei onnistu."Tietenkin ini_set avulla vois määritellä adminille virheet näkyviin jne... Mutta mielestäni on helpompaa kun kaik on samassa paikkaa--"
Täysin samaa mieltä! :) Kiitos kaikesta avusta!
Ps: Onko muuten mahdollista nähdä se sun stripti? :P Olis kiva lukasta. Anyway, keep on rocking & have a nice Summer!
- vaikean kautta
Kun voi helpommallakin päästä elikkäs, itse juuri koitin ja rivinvaihdon voi tehdä muuntujaksi: $rivinvaihto = ""; echo "rivin $rivinvaihto vaihto"; Näkyisi HTML koodissa: " rivin vaihto " Lithi@ www.lithinkorneri.net
- tuohon
eikä siitä näemmä edes tarvitse tehdä muuntujaa, riittää ihan "" tekstin sisällä
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Jäätävä epävarmuus
Mistä tää hirveä epävarmuus molemminpuolin johtuu? Pohjimmiltaan uskon, että molemmat tietää, että tunteita on. Vai onko851827- 431439
Vanhemmalle naiselle
Ihastuin sinuun kauan sitten. Luonteeseen, ulkonäköön ja iloisuuteen. Olen haaveillut sinusta sen jälkeen monet kerrat.871202- 671007
- 59971
Persut romahti Haapaveellä, kiitos Ilkka!
Persut saivat historiallisen tappion haapaveellä! Kiitos Ilkka!44967Pitsaa selliiä
Onko uudet pitsat hyviä, kannatteooko käyvä vai suosiollako pittää hilipasta sotkamoon20920- 35887
- 47876
- 37809