Plik __class.php
<?php
class start_stop {
function check() {
//Sprawdzanie czy ostatnia operacja bylo start czy stop
$query = mysql_query('select id from `temp` where user_id=''. $_SESSION['id'] .'',wylogowany='0''); if (isset($this->db[id
])) { $this->status = 'stop';
}
else {
$this->status = 'start';
}
}
function start() {
//Wykonywana jesli ostatnia operacja bylo stop
$sql = 'insert into `temp` values("","'. $_SESSION['id'] .'","'. $data .'","'. $h .'","'. $m .'","0","")';
}
function stop() {
//Wykonywana jesli ostatnia operacja byl start wylicza przepracowany czas i dodaje
go do bazy danych
$query = mysql_query('select id,h,m from `temp` where id=''. $this->db[id
] .'',wylogowany='0''); mysql_query('UPDATE `temp` SET `wylogowany` = '1', `koniec` = ''. $data .' '. $h .':'. $m .'' WHERE id = '. $this->db[id
] .' LIMIT 1'); $h = $h - $this->db[h];
if ($this->db[m]>$m) {
$h--;
$m = $m + 60;
$m = $m - $this->db[m]
}
else {
$m = $m - $this->db[m]
}
$query = mysql_query('select user_id,h,m,mc from `przepracowane` where user_id=''. $_SESSION['id'] .'',mc=''. $mc .'''); //Wyliczanie czasu przepracowanego w miesiącu
$m = $m + $this->pp[m];
if ($m>60) {
$m = $m - 60;
$h++;
}
$h = $h + $this->pp[h];
mysql_query('UPDATE `przepracowane` SET `h` = ''. $h .'', `m` = ''. $m .'' WHERE user_id = '. $_SESSION['id'] .', mc=''. $mc .'' LIMIT 1'); }
}
?>
plik ładujący
<?php
include "__class.php";
if (isset($_SESSION['id'])) { $ss = new start_stop;
if ($_GET['action']=='execute') {
$ss->check();
$stan =& $ss->status;
$ss->$stan();
}
else {
echo '<button><a href="?mod=timer&action=execute">Wykonaj</a></button><button><a href="?mod=logon&action=logout">Wyloguj</a></button>'; }
}
else {
echo 'Jeszcze się nie zalogowałeś lub została przerwana sesja:(<br /> <button><a href="?mod=logon">Zaloguj</a></button>';
}
?>
Z góry dzięki za pomoc.
Gdy wywołam ten kod to strona przestaje cokolwiek wyświetlać (Poniżej ładowanego kodu). Natomiast nie wywala żadnego błędu.
PS. SOrry
Ten post edytował Crop 19.11.2007, 21:38:19