• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kurs, PHP odc. 4 - przedłużenie usługi premium o 30 dni...

Object Storage Arubacloud
0 głosów
235 wizyt
pytanie zadane 5 kwietnia 2017 w SQL, bazy danych przez godetsue Nowicjusz (160 p.)

Pytanie skierowane do osób korzystających z kursów Pana Mirosława Zelenta ;] 

W Kursie języka PHP w odc. 4 jest zagadnienie przedłużenia  usługi premium o 30 dni.

https://youtu.be/U-LqhOrkkq8?t=53m52s - link do odcinka. 53m52s

Dodajemy 30 dni do juz zapisanej daty wygasniecia. Rozumiem ze trzeba zwyczajnie dodac kolejny interwal np tych 30 dni... Niestety od kilku h nie moge sie uporac zapewnie z tak trywialnym problemem ^^ Jesli juz ktos podejmowal sie tego, prosze o wskazowki ;] 

Kod:

<?php

	session_start();
	
	if (!isset($_SESSION['zalogowany']))
	{
		header('Location: index.php');
		exit();
	}
	
?>
<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
	<title>Osadnicy - gra przeglądarkowa</title>
</head>
<body>
	
<?php

	echo "<p>Witaj ".$_SESSION['user'].'! [ <a href="logout.php">Wyloguj się!</a> ]</p>';
	echo "<p><b>Drewno</b>: ".$_SESSION['drewno'];
	echo " | <b>Kamień</b>: ".$_SESSION['kamien'];
	echo " | <b>Zboże</b>: ".$_SESSION['zboze'];
	
	echo "<p><b>E-mail</b>: ".$_SESSION['email'];
	echo "<br /><b>Data wygasniecia premium</b>: ".$_SESSION['dnipremium']."</p>";

	$dataczas = new DateTime();
	
	echo "Data i czas serwera: ".$dataczas->format('Y-m-d H:i:s')."<br>";
	
	$koniec = DateTime::createFromFormat('Y-m-d H:i:s', $_SESSION['dnipremium']);
	
	$roznica = $dataczas->diff($koniec);
	
	if($dataczas<$koniec)
	echo "Pozostało premium: ".$roznica->format('%m mies, %d dni, %h godz, %i min, %s sek');
	else
	echo "Premium nieaktywne od: ".$roznica->format('%d dni, %h godz, %i min, %s sek');

?>
</body>
</html>

Rozumiem iz do tego dodajemy 30 dni ;p ? ^^ 

$_SESSION['dnipremium']

 

1 odpowiedź

0 głosów
odpowiedź 8 kwietnia 2017 przez efiku Szeryf (75,160 p.)

Pytanie skierowane do osób korzystających z kursów Pana Mirosława Zelenta ;] 

Trochę czekałeś na odpowiedź ;) 

Cóż  to za zmienna $dataczas, nazywaj jak trzeba!

Podpowiem tak:

1. Podczas zakupu konta premium, powinieneś tworzyć obiekt datetime z parametrem +30 days, tak dokładnie "+30 days"

Takie coś należy wrzucić później do bazy dla danego użytkownika, żeby nie uciekło. Oszczędzaj sesje i trzymaj tam ID użytkownika.

2. Z datami należy uważać, lepiej trzymać w UTC. Ale na Twoje potrzeby, miej  w php.ini  default Europe/Warsaw. 

Zamiast takich rozbić na dokładne pokazanie użytkownikowi ile mu pozostało, zwróć tylko datę końca, resztę możesz przecież js'em zrobić :) to całe "ile Ci zostało", [ data_servera, data_konca ] i liczyć po stronie klienta.

i chyba powinno być ( $currentDate <= $endPremiumDate) 

 

Podobne pytania

0 głosów
0 odpowiedzi 192 wizyt
pytanie zadane 26 września 2017 w PHP przez seba Dyskutant (8,900 p.)
0 głosów
0 odpowiedzi 179 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...