Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Apache / PHP

Sivun loppuun

Tumpi [13.10.2002 19:03:28]

#

Elikkä asensin tässä lähiaikoina apachen ja php:n. Nyt kuitenkin kun katson sivuja, osa php-koodista näkyy itse sivulla, osa ei. Mikähän voisi olla ongelmana?

TETRIS [13.10.2002 19:29:35]

#

Joo mulla on sama onkelma mut luulisin ettet ole configurannu niitä elikkä tsekaas tuolta helppiä :

http://www.jorkki.com

Tumpi [13.10.2002 20:48:59]

#

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

tollaset rivit pitäis löytyä, mutta siin tiedostossa ei oo tommosia rivejä!?

trinit [13.10.2002 21:42:35]

#

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=a_php löytyypi ohjeet PHP-tulkin asentamiseen Apache:en.

lainaus:

Elikkä asensin tässä lähiaikoina apachen ja php:n. Nyt kuitenkin kun katson sivuja, osa php-koodista näkyy itse sivulla, osa ei. Mikähän voisi olla ongelmana?

Jos vain osa PHP-koodista näkyy sivulla ja osa ei niin todennäköisesti itse koodissa on jotain vikaa. Minkälaisella sivulla tuollainen ongelma oikein tulee?

Ja kannattaa myös tutustua Abyss Web Serveriinkin. Erittäin pienikokoinen (n. 80 kt) Windows/Linux palvelin, jossa kaikki asetukset (kuten PHP:n asennus) tehdään selaimen kautta: http://www.aprelium.com

Tumpi [14.10.2002 00:10:40]

#

lainaus:

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=a_php löytyypi ohjeet PHP-tulkin asentamiseen Apache:en.

ohjeitten mukaan sen asensin, mutta siellä httpd.conf tiedostossa ei edes lue missään "php".

lainaus:

Minkälaisella sivulla tuollainen ongelma oikein tulee?

kaikilla millä on php:tä

Tumpi [14.10.2002 00:11:08]

#

oho

Tumpi [14.10.2002 00:23:02]

#

Koitin abyss web serveriä, samat ongelmat. HTML dokumentit toimii jotenka vika on ehkä PHP:ssä?

Pazi [14.10.2002 18:48:31]

#

Itsellä oli sama ongelma aluksi kun käytin Apache v1.3.26, vaihdoin Apachen sitten v1.3.22:seen ja siinä oli nämä seuraavat rivit.

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

Sen jälkeen loppu sujui leikiten =)

trinit [15.10.2002 16:06:22]

#

lainaus:

Koitin abyss web serveriä, samat ongelmat. HTML dokumentit toimii jotenka vika on ehkä PHP:ssä?

Näkyykö ne kaikki PHP-koodit nyt sivulla vai vain osa niinkuin aluksi kerroit? Jos kaikki näkyy, niin sitten PHP-tulkkia ei ole asennettu oikein.

Tumpi [15.10.2002 20:23:17]

#

Osa näkyy.

Sain homman nyt kuntoon, kiitos Pazin, mutta nyt keksien tallennus ei onnaa!?

Tumpi [15.10.2002 20:23:18]

#

Osa näkyy.

Sain homman nyt kuntoon, kiitos Pazin, mutta nyt keksien tallennus ei onnaa!?

trinit [15.10.2002 20:28:18]

#

lainaus:

mutta nyt keksien tallennus ei onnaa!?

Jos vähän tarkemmin kertoisit... Minkälaisella koodilla olet evästeitä yrittänyt tallentaa?

Tumpi [15.10.2002 22:44:15]

#

Tälläsel: setcookie ("nimi",$nimi,time()+1000000);

MBnetissä toimii hyvin.

trinit [16.10.2002 11:06:38]

#

lainaus:

Tälläsel: setcookie ("nimi",$nimi,time()+1000000);

MBnetissä toimii hyvin.

Ihan oikein tuo setcookie on. Jos tuo kerran MBnet:ssä toimii niin kyllä sen pitäisi omalla serverilläsikin toimia. Tuleeko tuosta jokin virheilmoitus vai eikö "nimi" evästeeseen tallennu $nimi muuttujan sisältöä?

Olisiko mahdollista saada hieman laajempaa listausta koodista, jolla tuon evästeen asetuksen teet? Ja vielä, että onko käytössäsi nyt sitten Apache v1.2.22 ja PHP-tulkin versio on mikä?

Tumpi [16.10.2002 14:49:28]

#

Koko evästettä ei edes luoda.

Apache v. 1.3.22, PHP 4.2.3

trinit [16.10.2002 16:08:09]

#

Kun en jaksa kirjoittaa uudestaan:

lainaus:

Olisiko mahdollista saada hieman laajempaa listausta koodista, jolla tuon evästeen asetuksen teet?

Kokeile nyt tehdä tämä listaus joka löytyy Ohjelmointiputkan PHP FAQ:sta ja kerro mitä se tulostaa sivulle:

<?php
    $nimi = "TestiEvaste";
    $sisalto = "Tämä teksti tallennetaan evästeeseen";
    $voimassa = 3600;

    // Asetetaan eväste joka on voimassa tästä hetkestä
    // lähtien 3600 sekuntia = 1 tunti
    setcookie ($nimi, $sisalto, time() + $voimassa);

    echo "Evästeen sisältö: " . $_COOKIE['TestiEvaste'];
?>

Tumpi [16.10.2002 18:59:34]

#

Nyt se valittaa:

Warning: Cannot add header information - headers already sent by (output started at c:\palvelin\evaste.php:5) in c:\palvelin\evaste.php on line 12
Evästeen sisältö:

trinit [16.10.2002 22:21:46]

#

lainaus:

Warning: Cannot add header information - headers already sent by (output started at c:\palvelin\evaste.php:5) in c:\palvelin\evaste.php on line 12

No joo, tuli aikamoinen ajatuskatkos esimerkkiä kirjoittaessani näköjään. Eli teekin kaksi php-tiedostoa vaikka evaste1.php ja evaste2.php joista evaste1.php laitat:

<?php
    $nimi = "TestiEvaste";
    $sisalto = "Tämä teksti tallennetaan evästeeseen";
    $voimassa = 3600;

    // Asetetaan eväste joka on voimassa tästä hetkestä
    // lähtien 3600 sekuntia = 1 tunti
    setcookie ($nimi, $sisalto, time() + $voimassa);

    header("Location: evaste2.php");
?>

ja evaste2.php:

<?php
    echo "Evästeen sisältö: " . $_COOKIE['TestiEvaste'];
?>

Mikäli nyt evästeen sisältö on tyhjä eikä setcookie() funktiosta tule mitään virheilmoitusta tai muuta niin sitten on jotain pahasti vialla.

Tumpi [16.10.2002 23:59:59]

#

Warning: Cannot add header information - headers already sent by (output started at c:\palvelin\evaste1.php:3) in c:\palvelin\evaste1.php on line 10

Warning: Cannot add header information - headers already sent by (output started at c:\palvelin\evaste1.php:3) in c:\palvelin\evaste1.php on line 12

trinit [17.10.2002 10:05:34]

#

Jahas, nyt en osaa enää sanoa mikä on vialla. Minulla nuo evaste1.php ja evaste2.php toimivat ihan hyvin eikä virheilmoituksia tule (evaste2.php tulostaa oikein tekstin "Evästeen sisältö: Tämä teksti tallennetaan evästeeseen").

Käytössäni on siis Abyss Web Server v1.1 beta 2 ja PHP 4.2.1

Saisitko sen listauksen kokonaan tänne joka toimii MBnet:ssä mutta ei sinulla omalla palvelimellasi?

mikko [17.10.2002 10:08:22]

#

Tumpi: tallensitko nuo trinitin antamat tiedostot tuollaisenaan, vai laitoitko jotain roskaa(html..) niiden alkuun/loppuun?

mikko [17.10.2002 10:13:34]

#

Tarkemman tutkiskelun jälkeen: Minulla nuo toimii ihan hyvin, mutta jos lisään evaste1.php-tiedostoon html-tageja, saan täsmälleen samat virheilmoitukset kuin Tumpi.

trinit [17.10.2002 10:23:28]

#

lainaus:

Tarkemman tutkiskelun jälkeen: Minulla nuo toimii ihan hyvin, mutta jos lisään evaste1.php-tiedostoon html-tageja, saan täsmälleen samat virheilmoitukset kuin Tumpi.

Aivan, setcookie() funktiota ennen ei saa olla mitään tageja tai tekstiä tulostettuna sivulle. Tumpi, tiedostoissa EI saa olla mitään muuta tekstiä kuin nuo <?php ja ?> tagien välissä olevat rivit. Muuten tulee tuo "Cannot add header information" varoitus.

Ks. https://www.ohjelmointiputka.net/faq.php?sivu=3#21

Tumpi [17.10.2002 21:38:59]

#

Nyt se kyllä tallensi evästeen. Voisko aiempaan vaikuttaa se ettei siinä ollu mitään header("Location: evaste2.php"); -hommaa?

trinit [18.10.2002 10:24:34]

#

header("Location: ...") vain ohjaa jollekin sivulle, sen ei pitäisi aiheuttaa noita varoituksia. Lisäinfoa tuosta löytyy PHP Manualista ja FAQ:sta kun ehdin kirjoittamaan siitä sinne ;)

Kuitenkin, jätit siis header():n pois evaste1.php:sta vaikka se esimerkissäni siellä oli? Esimerkit piti testata niin, että ajamalla evaste1.php:n se asettaa evästeen ja header():lla siirtyy automaattisesti evaste2.php:hen joka näyttää mitä sinne evästeeseen tallennettiin. Eniten vain ihmetyttää nuo varoitukset joita sait. Eli kirjoititko niihin .php tiedostoihin jotain muutakin kuin pelkästään nuo rivit mitä olin kirjoittanut?

Ainakin "(output started at c:\palvelin\evaste1.php:3)" viittaisi siihen että ennen <?php tagia on jotain muutakuin PHP-koodia. Olinko oikeassa?

Tumpi [18.10.2002 11:38:16]

#

lainaus:

Olinko oikeassa?

Juuh olit, tarkoitin "aiemmalla" sitä "Tälläsel: setcookie ("nimi",$nimi,time()+1000000);".

Tumpi [18.10.2002 11:43:22]

#

Nyt kun keksit varmaan toimii, ois vielä yksi ongelma.
Kun koitan apachella esim. sivujeni ( http://koti.mbnet.fi/tumpi ) peelokääntäjää niin se ei toimi. Mikä vois olla vialla?

thefox [18.10.2002 15:16:42]

#

Vika on sinussa. Ja apua on täältä turha odotella kun kysymys on tuota luokkaa. Hieman selitystä, kiitos.
Ja muutenkin peelokääntäjä on turha kuin mikä :x

trinit [18.10.2002 20:32:53]

#

lainaus:

Kun koitan apachella esim. sivujeni ( http://koti.mbnet.fi/tumpi ) peelokääntäjää niin se ei toimi. Mikä vois olla vialla?

Jaa, se vika voisi olla vaikka siinä rivillä 12 olevassa if-lauseessa...

Ei, ei tällaisia kysymyksiä enää. Miten tuosta voi kukaan antaa neuvoja kun on noin laaja "Mikä vois olla vialla?" kysymys. Jos Antti L. lukee tätä, niin Ohjelmointiputkan FAQ-osioon voisi pistää kohdan "Miten kysyn apua keskustelualueelta?" tjsp.

1. Oletko kokeillut Apachea ja PHP:n toimintaa jollain testi-skriptillä jotta tiedät että ne toimivat?

2. Peelokääntäjän lähdekoodi olisi hyvä nähdä jotta tietäisi miten se on loppujen lopuksi on tehty

3. Tuleeko jotain PHP-tulkin ilmoituksia kenties, vai tapahtuuko jotain muuta?

4. Kopioi PHP Manual omalle koneellesi opettelua varten

5. Seuraavan kerran kun kysyt jotain, kirjoita mahdollisimman tarkasti kaikki asiat.

Antti Laaksonen [18.10.2002 20:48:00]

#

lainaus:

Jos Antti L. lukee tätä, niin Ohjelmointiputkan FAQ-osioon voisi pistää kohdan "Miten kysyn apua keskustelualueelta?" tjsp.

Nyt FAQ-listassa on kohta "Miten kysyn keskustelussa?", https://www.ohjelmointiputka.net/faq.php#20

Tumpi [20.10.2002 12:49:49]

#

Siis ongelma peelokääntäjässä on lähinnä ettei muuttujien arvot säily kun ne lähetetään lomakkeella toiselle sivulle.

Antti Laaksonen [20.10.2002 13:08:00]

#

Sinulla on varmaan omalla koneellasi uusi PHP, jossa lomakkeen arvot eivät ole suoraan muuttujina, vaan ne löytyvät $_GET- ja $_POST-taulukoista. Esimerkiksi POST:illa lähetetty muuttuja testi löytyisi taulukosta näin:

$_POST["testi"]

trinit [20.10.2002 21:56:13]

#

Pistinpä noista superglobaaleista taulukoistakin FAQ:hun yhden kysymys/vastaus parin: https://www.ohjelmointiputka.net/faq.php?sivu=3#24


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta