Osaakohan joku sanoa mikä alla olevassa koodissa on vialla, en saa looppia toimimaan.
Eli siis tuo tulostaa kokoajan arvon 1...
Eli siis tuo tulostaa kokoajan arvon 1...
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 12
Vanhimmat
Olet opetellut session käytön jostain vanhasta oppaasta.
mikä idea tuossa jälkimmäisessä tavassa on kun silloin olen vieraillut kokoajan 1 kertaa, vaikka tulisin uudestaan sivulle...?
Niin hyvään koodaukseen kuuluu, että muuttujat... alustetaan, ellei sitä tee niin PHP antaa siitä huomautuksia, tosin PHP:n error asetuksista riippuu tuleeko huomautukset vai ei.
Sekä muuttujien jne... alustaminen parantaa tietoturvaakin.
Miten niin tuo alimmainen ei toimi?
Toki tuosta puuttuu echotus.
if (!isset($_SESSION['looppi']))
Tuo ehto on tosi jos $_SESSION['looppi'] ei ole määritelty. Mikäli on määritelty niin toteutuu else jossa lisätään looppiin yksi.
Ellei tuo toimi niin onko sinulla keksit sallittuna, tai sitten osoitteen perässä sessio tunniste?
echo session_id(); näyttää sessiosi id-tunnisteen, se pitää olla sama jos päivität sivua, mikäli vaihtuu niin sinulle luodaan aina uusi sessio joka on yksi.
Niin tuo jälkimmäinen alustaa sen nollaksi, mutta sinun tapauksessa se pitää alustaa ykkösellä.
Siis tuo mun oma esimerkki tulostaa oikein, eli lataan sivun uudelleen, niin vaihtuu 2,3,4 jne.
Mutta tuo sun alempi esimerkki, tulostaa 1 vaikka lataisin sivun uudelleen tai kirjoitan sivun osoitteen uudelleen. 1 siis kokoajan.
Muutin alustuksenkin 1:ksi, mutta samanlailla se käy. Tulostaako se muka sulla 1,2,3 jne.? kun lataat sivun uudelleen ja uudelleen.
Toimii tuo alempi ongelmitta.
Kokeilin tällä
Mikäs sul on PHP versiona?
Jotenkin vaikuttaisi, että on todella vanha ellei tuo toimi.
eihän tuo uusin toki ole...
eli siis tuolla toimii:
Outoa sillä tuo koodinpätkä on kopioitu tuosta aikasemmasta esimerkistä, vain 0 -> 1 muuta muutosta ei tehty, tietenkin sitten lisätty print_r jotta näkee mitä sessio palauttaa.
eli sain toimimaan sen, kun poistin esimerkistäsi hakasulut $_SESSION['looppi'] ympäriltä.
eli aaltosulut siis poistin { }
Kyllä se toimii noitten sulkujenkin kanssa.