Jego zawartość:
<?php require './site/header.php'; require './config/config.php'; require_once './config/user.class.php'; ?> Odliczanie: <div id="test"></div> <script> function startTimer(duration, display) { var timer = duration var minutes; var seconds; countDown(); var interval = setInterval(countDown, 1000); function countDown() { minutes = parseInt(timer / 60, 10) seconds = parseInt(timer % 60, 10); minutes = minutes < 10 ? "0" + minutes : minutes; seconds = seconds < 10 ? "0" + seconds : seconds; display.innerHTML=(minutes+":"+seconds); if (--timer < 0) { display.innerHTML= $levelnext; //PO UPŁYWIE 10 minut powinno załadować mi plik który podałem w $levelnext clearInterval(interval); //location.href="./test2.php"; } } } (function() { startTimer(10*60,document.getElementById('test')); // 10 minut }()); </script> <?php $sprlevel = require'./test2.php'; // A TO MA ZAŁADOWAĆ INNY PLIK DO KODU .js $levelnext = $sprlevel // TUTAJ JEST TEN PLIK ?> </body> </html>
I chodzi o to że do kodu .js po upływie tych 10 min powinien zostać załadowany inny plik (test2.php)
i właśnie chodzi o to że jak upłynie 10 min to załaduje mi drugi plik który wykona UPDATE tabeli w bazie danych dla danego użytkownika i zwiększy jego punkty w tym przypadku 'nosmoney'. Ale problem polega w tym pierwszym pliku (test.php) nie wywala mi żadnego błędu, ale również i nic nie odlicza. A powinno. :/
Zawartość pliku test2.php:
<?php if (user::isLogged()) { // Widok dla użytkownika zalogowanego // Pobierz dane o użytkowniku i zapisz je do zmiennej $user $user = user::getData('', ''); mysql_query("UPDATE users SET nosmoney=nosmoney+1 WHERE id='$user[id]';") or die ('<p class="error">Wystąpił błąd.</p>'); if (($user['nosmoney']+1)==10) { } }else { // Widok dla użytkownika niezalogowanego } ?>
Wcześniej zrobiłem to na innej podstawie dokładnie takim sposobem:
//location.href="./test2.php";
ale nie chodzi mi o to żeby po upływie 10 min zmieniało mi stronę tylko żeby akcja dalej toczyła się na tej samej stronie.
Czyli tak jakby żeby połączyć mniej więcej jakoś do .js plik .php ale bez przekierowania.
Ponieważ próbuję zrobić taki prosty system leveli (który dodaje nam punkty za pobyt na stronie.) na stronie że później w index'ie jak i na reszcie stronach będzie odliczać i dodawać do bazy bez przekierowywania nas np. co 10 min na jakąś stronę (w poprzednim przypadku np. jak już podałem poprzez funkcję "location.href="./test2.php";" na stronę test2.php) a wręcz przeciwnie abyśmy pozostali na aktualnie przeglądanej przez nas stronie.