A ten drugi link (bez .php na końcu)?
Sprawdziłem jeszcze raz i jest exec done. w pierwszym linku ktory dales.
I jest zmiana uzytkownika o numerze id 2 w tabeli zmiena ta wynosi z 17:37:17 na 22:28:40
Ufff. Czyli zadziałało (ale mniej elegancko niż chciałem). A sprawdź jeszcze ten kod:
<?php
session_start();
date_default_timezone_set('Europe/Warsaw');
if (isset($_SESSION['login'], $_SESSION['id']))
{
$db = new PDO('sqlite:darom.sqlite');
$db->exec('UPDATE uzytkownicy SET status_uzytkownika = DATETIME(\'NOW\') WHERE id = ' . $_SESSION['id']);
echo 'Użytkownik o id=' . $_SESSION['id'] .' zaktualizowany.
';
}
else
echo 'Nie jesteś zalogowany!
';
?>
Poprawiłem linię 8 (z echo) bo była literówka.
– Dodane 09.01.2013 (Śr) 23:41 –
Jeśli podczas wywołania linka http://www.history.is.net.pl/status zmienia się w bazie czas, to mamy tę pierwszą część załatwioną. Jutro przygotuję Ci kod IFRAME do wstawiania na stronach.
Nic się nie zmieniło w zapisie w tabeli, zostało tak jak było
A czy coś się wypisuje na ekranie?
Dodałem dwie linie kodu pod koniec (zobacz):
else
echo 'Nie jesteś zalogowany!
';
Nie, jest pusty biały ekran
A który link wcześniej zadziałał i czy teraz nie działa (ale czy coś wypisze teraz po dodaniu tych 2 linijek)?
Teraz mi sie pojawil napis Nie jesteś zalogowany!
Wcześniej zadziałał link ten: http://www.history.is.net.pl/status.php ale w przypadku kodu dla uzytkownika o id=2
No bo może nie jesteś zalogowany?
Zaloguj się w innej zakładce.
Cały czas jestem zalogowany na mojej stronie
A wrzuć jeszcze taki kod:
<?php
session_start();
date_default_timezone_set('Europe/Warsaw');
echo 'Zalogowany: '. zalogowany() . '
';
echo 'Username: '. $_SESSION['username'] . '
';
echo 'id: ' . $_SESSION['id'] .'
';
echo 'login: ' . $_SESSION['login'] .'
';
if (isset($_SESSION['login'], $_SESSION['id']))
{
$db = new PDO('sqlite:darom.sqlite');
$db->exec('UPDATE uzytkownicy SET status_uzytkownika = DATETIME(\'NOW\') WHERE id = ' . $_SESSION['id']);
echo 'Użytkownik o id=' . $_SESSION['id'] .' zaktualizowany.
';
}
else
echo 'Nie jesteś zalogowany?
';
?>
i sprawdź co się wyświetli (pokaż tutaj).
Teraz jest błąd:
Fatal error: Call to undefined function zalogowany() in /home/users/history/public_html/status.php on line 4
"To wywal linię 4 z
echo 'Zalogowany: '. zalogowany() . '
';
I sprawdź co się wypisze.
Nie mam całości Twojego kodu, więc trudno mi ogarnąć, jak wygląda u Ciebie logowanie i weryfikacja użytkownika. Kawałki kodu, które tu znajduję, nie zawsze są poprawne (tj. u Ciebie użyte).
Wiesz gdzie masz sprawdzanie zalogowania (pokaż kawałek tego kodu)?
Teraz wyszło mi: http://www.history.is.net.pl/status.php
Username:
id:
login:
Nie jesteś zalogowany?
Nie działa, bo też wyskakuje „Nie jesteś zalogowany?”
Działa w tym znaczeniu, że pokazuje to samo co ten z .php
Idę spać (rano do roboty), wrócimy do tego tematu jutro po południu.
Jak możesz to wklej kawałek kodu, gdzie masz sprawdzanie zalogowania.
OK to do jutra. Dobranoc.
– Dodane czwartek, 10 stycznia 2013, 00:14 –
if (!empty($data['user']) && !empty($data['hash'])) {
$user = $db->select('SELECT * FROM uzytkownicy WHERE login = :user', array(':user' => $data['user']));
if ($user) {
if ($user['login'] == $data['user'] && md5($user['id'] . '' . $user['haslo']) == $data['hash']) {
$sesja_uzytkownika = $app->config('dane_sesyjne');
foreach ($sesja_uzytkownika as $zmienna => $dana) {
$_SESSION[$zmienna] = $user[$dana];
}
A z jakiego pliku ten fragment pochodzi?
z pliku index.php bo w pliku logowanie.php mam sam formularz