Mój problem się zmienił:
Wtedy gdy do cookie wysyłałem dane, chociaż nie miały takiej zawartości jakiej chciałem, ale przynajmniej się tworzyły. Teraz z linijki 47 usunąłem funkcję strtolower() i wyskakuję błąd :
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\test\system\jadro\e-door\functions\logowanie.php:47) in
C:\AppServ\www\test\system\jadro\e-door\functions\logowanie.php on line
68
Jak zmodyfikować kod by ciasteczko zostało utworzone?
Skrypt logowania:
<?php
class logowanie {
private $kxc = \"a523d703f908dd69e02db64ec35d07315f4c49ab3cacad14a97304b02f2fbb09\";
public $zalogowany = 0;
public function __construct($login, $haslo, $zapamietaj)
{
if($this -> autoryzacja($login, $haslo, $zapamietaj)) {$this -> loguj();}
}
public function loguj()
{
return $this -> zalogowany = 1;
}
public function autoryzacja($login, $haslo, $zapamietaj)
{
if(isset($_COOKIE['jp_login'])) {
$dane = $_COOKIE[\"jp_login\"]^$this -> kxc;
$login_use = substr($dane, 0
, 32
); $haslo_use = substr($dane, -32
); $metod = \"cookies\";
}
elseif(isset($_SESSION['login']) AND
isset($_SESSION['haslo'])) {
$login_use = $_SESSION['login'];
$haslo_use = $_SESSION['haslo'];
$metod = \"session\";
}
{
$login_use = md5($login); $haslo_use = md5($haslo); $metod = \"post\";
}
{
$query = bazadanych::wykonaj(\"SELECT * FROM `users` WHERE `user`='\".$login_use.\"' AND `pass`='\".$haslo_use.\"';\");
if(bazadanych::num_rows($query) == 1)
{
$wiersz = bazadanych::fetch_array($query);
$_SESSION['login'] = $wiersz['user'];
$_SESSION['haslo'] = $wiersz['pass'];
$_SESSION['nick'] = $wiersz['nick'];
if($metod == \"post\" AND isset( $zapamietaj) AND $zapamietaj == \"ok\")
{
$dane = ($login_use.$haslo_use)^$this -> kxc;
setcookie (\"jp_login\", $dane,time()+3600*24*30);
}
return TRUE;
}
}
else
{
return False;
}
}
}
?>
Ten post edytował qba10 17.07.2008, 13:33:55