Problémy s autentizaci (Cannot regenerate session ID)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
o.x.i
Člen | 7
+
0
-

Cao,
už několik hodin se snažím rozchodit jednoduché přihlašování uživatelů a nemůžu se dostat přes tuto chybu:

InvalidStateException

Cannot regenerate session ID after HTTP headers have been sent (output started at C:\XAMPP\xampplite\htdocs\semestralka\app\models\Users.php:28).

procetl jsem si dokumentaci na autentizaci, tutorial na zdrojaku a na konec jsem použil i stejný kod, co je v Akrabatu a porad ta sama chyba…uz nevim, co s tim, tak bych byl moc rad, za kazdou radu..diky moc

p.s. temp mažu pravidelne, a pouzivam verzi 0.9.6

LoginPresenter

<?php
class LoginPresenter extends BasePresenter
{

   protected function createComponentLoginForm()
   {
	$form = new NAppForm;
	$form->addText('username', 'Username:')
		->addRule(NForm::FILLED, 'Please provide a username.');
        $form->addPassword('password', 'Password:')
		->addRule(NForm::FILLED, 'Please provide a password.');
   	$form->addCheckbox('remember', 'Remember me on this computer');
   	$form->addSubmit('login', 'Login');
   	$form->onSubmit[] = callback($this, 'loginFormSubmitted');
	return $form;
	}

  	public function loginFormSubmitted($form)
	{
	try {
		$user = $this->getUser();
		$user->login($form['username']->getValue(), $form['password']->getValue());
		$this->getApplication()->restoreRequest($this->backlink);
		$this->redirect('Dashboard:');

	} catch (AuthenticationException $e) {
		$form->addError($e->getMessage());
	}
	}

}
?>

basepresenter

<?php
abstract class BasePresenter extends NPresenter
{
     public $oldLayoutMode = FALSE;

     public function beforeRender()
     {
        $this->getSession()->start();
	$user = $this->getUser();
	$this->template->user = $user->isLoggedIn() ? $user->getIdentity() : NULL;
     }
?>

Users.php

<?php
class Users extends NObject implements IAuthenticator
{

	public function authenticate(array $credentials)
	{
		$username = strtolower($credentials[self::USERNAME]);
		$password = sha1($credentials[self::PASSWORD].$username);

		$row = dibi::select('*')->from('users')->where('email=%s', $username)->fetch();

		if (!$row) {
			throw new AuthenticationException("User '$username' not found.", 		self::IDENTITY_NOT_FOUND);
		}

		if ($row->password !== $password) {
			throw new AuthenticationException("Invalid password.", self::INVALID_CREDENTIAL);
		}

		unset($row->password);
		return new NIdentity($row->username, NULL, $row);
	}

}

?>
kravčo
Člen | 721
+
0
-

Skús zmazať ukončovacie značky ?> z php skriptov, najmä z Users.php.

o.x.i
Člen | 7
+
0
-

kravčo napsal(a):

Skús zmazať ukončovacie značky ?> z php skriptov, najmä z Users.php.

ukončovací znak ?> se přidal automaticky zde na foru, v souborech normálně není