Kongi
(Konradnie2)
11 Kwiecień 2011 15:11
#1
Mam na stronie 3 pola opcji
type=“radio”
i przycisk
type=“submit”
Chciałbym żeby po wybraniu jakiejś opcji pokazywał się zegarek odliczający do tyłu (np 5 min i w dół) i jak dojdzie do 00:00 Z bazy danych losowało jakąś wiadomość.
Napisałbym to sam gdyby nie taki problem że mi jest potrzebne takie coś żeby działało nawet gdy się zgasi przeglądarkę czy strone a po ponownym włączeniu to sie pokazywał zegarek ale nie od tylu co było podczas gaszenia tylko zeby on cały czas chodził.
Czy takie coś jest możliwe??
Jeśli ktos wie o co mi chodzi i umie takie coś zrobić to niech napisze bo ja nie wiem jak to można zrobić.
A i jeszcze dodam że do tej strony się rejestruje i loguje więc każdy ma swoje wiadomości.
Grzesie1k
(Grzesie K)
11 Kwiecień 2011 15:25
#2
Formularz o którym już napisałeś (jeżeli zmienna sesyjna nie istnieje).
Odebranie danych z formularza i zapisanie czasu time()+5*60 (czas w którym zakończony się odliczanie) w zmiennej sesyjnej.
Odliczanie w js uwzględniając wcześniej utworzoną zmienną
Sprawdzenie czasu jeszcze raz w php i wyświetlenie danych z bazy
Ps. Ewentualnie zamiast sesji możesz zapisywać dane w MySQL.
Kongi
(Konradnie2)
11 Kwiecień 2011 16:29
#3
Tylko ze ja nie mam pojęcia jak to zrobić
Odebranie danych z formularza i zapisanie czasu time()+5*60 (czas w którym zakończony się odliczanie) w zmiennej sesyjnej.
Odliczanie w js uwzględniając wcześniej utworzoną zmienną
Sprawdzenie czasu jeszcze raz w php i wyświetlenie danych z bazy
Grzesie1k
(Grzesie K)
11 Kwiecień 2011 17:02
#4
Obsługa formularza oraz sesje w php
Odliczanie w js do którego w php podstawisz obliczoną zmienną
Instrukcja warunkowa… to chyba już podstawy.
Poczytaj sobie i zacznij pisać. Jeżeli zaczniesz to chętnie pomożemy, lecz na gotowca bym nie liczył.
Kongi
(Konradnie2)
12 Kwiecień 2011 09:23
#5
Jest jeszcze problem z tym:
Ja nie umiem js i nie wiem jak to zrobić.
Grzesie1k
(Grzesie K)
12 Kwiecień 2011 16:29
#6
[/code]
Ostatnia cyfra (3) to ilość sekund po których nastąpi odświeżenie strony. Wystarczy,że po odświeżeniu sprawdzisz czas jeszcze raz w php i nie wyświetlisz tego kodu, lecz potrzebną zawartość.
Kongi
(Konradnie2)
12 Kwiecień 2011 16:58
#7
Dzięki ale to wyświetla w sekundach, jak to zmienić żeby pokazywało ?
I jak zrobić żeby na koniec (00:00) pokazywał się napis “Zakończono”
Bartosz82
(Bartosz82)
12 Kwiecień 2011 17:30
#9
Grzesie1k a moge ten powyższy skrypt wykorzystać do mojego downloadu ? że zamiast słowa koniec po np. 4 sekundach zamiast napisu Koniec pojawi się napis Kliknij aby Pobrać , który będzie linkiem do pobrania ?
Grzesie1k
(Grzesie K)
12 Kwiecień 2011 17:49
#10
Możesz (wystarczy wkleić kod html zamiast tekstu Koniec ), lecz należałoby dodać również w header:
gdyż nie wszyscy mają włączony js.
Bartosz82
(Bartosz82)
12 Kwiecień 2011 17:52
#11
Grzesie1k a wiesz moze jak ten skrypt odliczajacy do tyłu i ten kod w header połączyć z moim plikiem download.php ?
<?php
include_once ("category.inc.php");
include_once ("downcount.inc.php");
include_once ("appdesc.inc.php");
?>
<?PHP if(!isset($_GET['cat']) && !is_numeric($_GET['downloadid']) ){ ?>
» Download
<?php for($q=0; $q
><?php echo $category[$q][„name”] ?> <?php echo count($download[$q]) ?><?php echo $category[$q][„desc”] ?><?php } ?>
<?PHP }?> <?php if(isset($_GET[‘appage’])) { $cat=$_GET[‘cat’]; echo ’
'; echo '‘.’
’ .' ‘; echo ’ ‘.$appdesc[$cat][$_GET[‘appage’]][„desc”].’’ ; echo ’
'; if (isset($_GET[‘id’])) { include (‘send.php’); } else { include(‘show.php’); } } ? ?php $temp = 0; for($q=0; $q3;$q++){ $temp+=array_sum($download[$q]); } if(isset($_GET[‘cat’]) !isset($_GET[‘appage’])) { $cat=$_GET[‘cat’]; for($q=0; $q echo ’
'; echo '‘.’
’ .’ ‘; echo ‘’ . $download[$cat][$q] . ‘’; echo ’ ‘.$appdesc[$cat][$q][„desc”].’’ ; echo ’
‘; } echo " Pobrano w tej kategorii: „. array_sum($download[$cat]).” „; } if(isset($_GET[‘idapp’])){ $download[$_GET[‘cat’]][$_GET[‘idapp’]]++; $write_str = „?php\n\n”; $write_str.= go_through_array(”$download",$download); $write_str.= „\n?”; $file = „downcount.inc.php”; $file_handler = fopen($file,„w”); fwrite($file_handler,$write_str); fclose($file_handler); header(„Location: download/”.$appdesc[$_GET[‘cat’]][$_GET[‘idapp’]][„link”] ); } //echo array_sum($download); if (!isset($_GET[‘appage’])) { echo „Pobrano wszystkich: „.$temp.””; } function go_through_array($prepend,$arr) { $config_line = „”; if(count($arr)) { reset($arr); while(list($key,$val) = each($arr)) { if(is_array($val)) { $config_line.= go_through_array($prepend.„["”.$key.„"]”,$val); }//if else { $config_line.= $prepend.„["”.$key.„"] = "”.ereg_replace(’„‘,’"',$val).”";\n"; }//else }//while }//if else { $config_line.= $prepend." = array();\n"; }//else return $config_line; }//go_through_array ?[/code]
Ze jak odliczy mi te 4 sekudny to pojawi sie ten link z napisem Kliknij tutaj aby Pobrać i jak klikne w ten napis to zacznie sie pobieranie pliku.
Kongi
(Konradnie2)
13 Kwiecień 2011 11:35
#12
Dobr mam jeszcze 1 pytanie jak na razie.
Jak przypisać do zmiennej ten czas z odliczania?
Grzesie1k
(Grzesie K)
13 Kwiecień 2011 14:17
#13
#Darom82 To już chyba jest offtopic a tak ogólnie powinien wyglądać ten kod. Masz niezły śmietnik w swoim kodzie więc raczej sam sobie to podepnij i posprzątaj przy okazji
<?php
//Ustawienia//////////////////////////////////////////////
$czas=10; //czas odliczania w sekundach
//////////////////////////////////////////////////////////
session_start();
if(!isset($_SESSION['odliczanie'])){
$_SESSION['odliczanie']=time()+$czas; //czas zokonczenia odliczania
}
if($_SESSION['odliczanie']>time()){
$pozostalo=$_SESSION['odliczanie']-time(); //pozostaly czas do konca odliczania
echo '';
echo '';
}else{
echo 'Ukryta wiadomosc';
}
?>[/code]
Bartosz82
(Bartosz82)
13 Kwiecień 2011 22:00
#14
Grzesie1k ten ogólny kod co podałeś to on wyświetla tylko pusta białą strone i nic nie robic. Więc jest gdzieś błąd.
A po drugie to czemu niechcesz mi pomóc podpiąć ten kod pod mój do pliku download.php ?
Grzesie1k
(Grzesie K)
14 Kwiecień 2011 13:15
#15
Skrypt działa, sprawdzałem.
Bartosz82
(Bartosz82)
14 Kwiecień 2011 22:40
#17
Jak jak wrzucam ten kod Twój na serwer to mam białą pustą strone, a jak dam sobie F5 (odśwież) to wyskakuje mi napis Ukryta wiadomosc
Wiecej nic się nie dzieje, tak to ma działać ?
Kongi
(Konradnie2)
15 Kwiecień 2011 06:16
#18
Nie dokładnie.
Powinno sprawdzać czas z bazy danych i spełniać warunki(odliczać od 5 min w dół) a na koniec powinien pokazać się napis “zakończono”.
U mnie to działa tylko jak już pojawi się napis to zawsze jest zakończono a nie chce odliczać od 5.
Bartosz82
(Bartosz82)
15 Kwiecień 2011 07:19
#19
Właśnie niema żadnego odliczania tylko jest albo pusta strona: http://www.history.is.net.pl/time.php
Albo po odświeżeniu F5 wyskakuje napis Ukryta wiadomosc i nic się wiecej nie dzieje.
Testuje ten kod co podał Grzesie1k na powyższym linku i tak to działa.
Tak top ma być ?