Problem se zapisem do sessions na produkcnim serveru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- vosy
- Člen | 532
Ahoj, na produkcni server jsem nahodil nette 2.2.7 a mam problem se sessions
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Homepage presenter.
*/
class HomepagePresenter extends BasePresenter
{
protected function startup()
{
parent::startup();
session_start();
if(isset($_SESSION['views']))
$_SESSION['views'] = $_SESSION['views']+ 1;
else
$_SESSION['views'] = 1;
echo "zobrazeni = ". $_SESSION['views'];
echo '<br/>';
}
}
pri refresi stranky se nepricita $_SESSION[‚views‘]
pokud dam toto do zvlastniho souboru
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views'] = $_SESSION['views']+ 1;
else
$_SESSION['views'] = 1;
echo "zobrazeni = ". $_SESSION['views'];
echo '<br/>';
tak to pricita.
a na localu mi to funguje i v nette :(
PEKLO
- Marek Šneberger
- Člen | 130
Ale fuj! :-)
Co si takhle injectnout Session z Nete a vyvarovat se téhle fenomenální prasárny?
Editoval Marek Šneberger (4. 2. 2015 15:00)
- Marek Šneberger
- Člen | 130
Tak ti nefunguje login, nebo čítač přístupů? Jabka, hrušky nebo párek?
Každopádně se mrkni do dokumentace, použij to tak a teprve až budeš mít konkrétní problém tak to s tebou bude někdo řešit. Toť můj názor :)
Editoval Marek Šneberger (4. 2. 2015 15:26)
- vosy
- Člen | 532
<?php
namespace App\Presenters;
use Nette,
App\Model;
/**
* Homepage presenter.
*/
class HomepagePresenter extends BasePresenter
{
/** @var Nette\Http\Session */
private $session;
function injectSession(Nette\Http\Session $session)
{
$this->session = $session;
}
protected function startup()
{
parent::startup();
// session_start();
if(isset($_SESSION['views']))
$_SESSION['views'] = $_SESSION['views']+ 1;
else
$_SESSION['views'] = 1;
echo "zobrazeni = ". $_SESSION['views'];
echo '<br/>';
$myCounter = $this->session->getSection('myCounter');
$myCounter->count++; // zvětšíme čítač o jedničku
echo "Stránku jste zobrazil $myCounter->count × </br>";
}
}
Vysledek stale stejny
zobrazeni = 1
Stránku jste zobrazil 1 ×
- Filip Procházka
- Moderator | 4668
Vůbec na $_SESSION
nesahej, používej jenom
Nette\Http\Session
a jeho sekce.