Mam problem z wyświetlaniem losowych danych z bazy

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.

  1. Formularz o którym już napisałeś (jeżeli zmienna sesyjna nie istnieje).

  2. Odebranie danych z formularza i zapisanie czasu time()+5*60 (czas w którym zakończony się odliczanie) w zmiennej sesyjnej.

  3. Odliczanie w js uwzględniając wcześniej utworzoną zmienną

  4. Sprawdzenie czasu jeszcze raz w php i wyświetlenie danych z bazy

Ps. Ewentualnie zamiast sesji możesz zapisywać dane w MySQL.

Tylko ze ja nie mam pojęcia jak to zrobić

  1. Odebranie danych z formularza i zapisanie czasu time()+5*60 (czas w którym zakończony się odliczanie) w zmiennej sesyjnej.

  2. Odliczanie w js uwzględniając wcześniej utworzoną zmienną

  3. Sprawdzenie czasu jeszcze raz w php i wyświetlenie danych z bazy

  1. Obsługa formularza oraz sesje w php

  2. Odliczanie w js do którego w php podstawisz obliczoną zmienną

  3. 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ł.

Jest jeszcze problem z tym:

Ja nie umiem js i nie wiem jak to zrobić.

[/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ść.

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”

[/code]

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 ?

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.

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 '‘.’

‘.$appdesc[$cat][$_GET[‘appage’]][„name”].’

’ .'‘; 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 '‘.’

‘.$appdesc[$cat][$q][„name”].’

’ .’ ‘; 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.

Dobr mam jeszcze 1 pytanie jak na razie.

Jak przypisać do zmiennej ten czas z odliczania?

#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 :smiley:

<?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]

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 ?

Skrypt działa, sprawdzałem.

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ć ?

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.

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ć ?