Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] błędy przy zapisie dany przy aktywacji usługi
Forum PHP.pl > Forum > Przedszkole
pawel06281990
Witam,

Nie wiem czemu dostaje takie błędy i nie wiem czemu.


Notice: A non well formed numeric value encountered in /home/twojhost/public_html/panel/usluga_przedluz.php on line 301

Notice: A non well formed numeric value encountered in /home/twojhost/public_html/panel/usluga_przedluz.php on line 314


chodzi mu o ten skrypt Ta część skryptu odpowiada na jaki okres czasu usługa jest aktywna ustawione mam na rok czasu

  1. $user_czas = explode("-", $data['okres_dzialania']);
  2. $user_monthh = number_format($user_czas['1']);
  3. $user_dayy = number_format($user_czas['2']);
  4. $user_yearr = $user_czas['0'];
  5.  
  6. $user_hh = date("H", time());
  7. $user_mm = date("i", time());
  8. $user_ss = date("s", time());
  9.  
  10. $waznosc = mktime($user_hh,$user_mm,$user_ss,$user_monthh,$user_dayy,$user_yearr);
  11. $next = ($waznosc) + (31536000);
  12. $user_premium_czase = date("Y-m-d H:i:s", $next);
  13.  
  14.  


A ten jest że jak usługa nie będzie opłacona to system ją usunie po tym czasie
  1. //kasowanie usługi
  2. $user_koniec_czas = explode("-", $data['data_kasuj']);
  3. $user_monthh = number_format($user_koniec_czas['1']);
  4. $user_dayy = number_format($user_koniec_czas['2']);
  5. $user_yearr = $user_koniec_czas['0'];
  6.  
  7. $user_hh = date("H", time());
  8. $user_mm = date("i", time());
  9. $user_ss = date("s", time());
  10.  
  11. $waznosc = mktime($user_hh,$user_mm,$user_ss, $user_monthh,$user_dayy,$user_yearr);
  12. $next = ($waznosc) + (32400000);
  13. $user_premium_czasee = date("Y-m-d H:i:s", $next);


błędy wywala
  1. $user_dayy = number_format($user_czas['2']);


i na tym

  1. $user_dayy = number_format($user_koniec_czas['2']);


Co jest nie tak że mi wywala takie błędy??
SmokAnalog
Przeczytaj co robi number_format, bo chyba nie o to Ci chodziło.
pawel06281990
Mi chodzi o to żeby był zapisany Dzień miesiąc i rok na ile usługa jest ważna.

Jak nie miałem dodanego

  1. $user_hh = date("H", time());
  2. $user_mm = date("i", time());
  3. $user_ss = date("s", time());


To działało zapisywało mi do kiedy usługa jest ważna.

a jak dodałem czas to coś mu nie działa.

To jak mogę to ogarnąć jaką funkcją php questionmark.gif
SmokAnalog
Usuń number_format, bo krzaczy się przy roku. number_format(2019) zwraca 2,019, a to już nie jest format liczbowy dla PHP. Stąd ten błąd. Nie musisz nic robić z tymi liczbami, nawet jak są zapisane w stringu.
pawel06281990
Tylko wszystko pięknie ale dostaje czas wykupienia usługi na 2035-12-10 16:13:20 a ja mam na rok ustawiony skrypt
SmokAnalog
Daj taki test:

  1. var_dump($user_hh, $user_mm, $user_ss, $user_monthh, $user_dayy, $user_yearr);
pawel06281990
Wyniki testu są takie

string(2) "21" string(2) "49" string(2) "11" string(2) "00" string(11) "00 00:00:00" string(4) "0000" string(2) "21" string(2) "49" string(2) "11" string(2) "00" string(11) "00 00:00:00" string(4) "0000"

A ponieważ bo w bazie przy tworzeniu usługi mam 0000:00:00 00:00:00 Dopiero czas ma mi zrobić jak użytkownik kliknie ikonkę kupuje.
SmokAnalog
No to sam widzisz, że coś z tymi wartościami nie tak.
pawel06281990
Bo to jest ta wartość pobierana z bazy

  1. $data['okres_dzialania']


A pobieram ją tak

  1. $user_czas = explode("-", $data['okres_dzialania']);
SmokAnalog
Tylko że jak rozbijesz datę w formacie YYYY-MM-DD HH:MM:SS myślnikami, to sam widzisz, że coś jest nie tak.

Zamiast rozbijać datę i używać jej w mktime, włóż tę datę do strtotime i efekt będzie taki sam, tylko prościej.
pawel06281990
Rozwiązałem go inaczej trochę

A mianowicie tak

  1. $next = time() + (32400000);


I teraz mam ważność 2020-06-26 22:27:12 a data którą system ma usunąć gdy usługa nie jest opłacona 2020-07-06 22:27:12 i o to mi chodziło bo na usunięcie jest 14 dni

Edit: i dzięki za pomoc SmokAnalog
SmokAnalog
Nie rozumiem - wcześniej budowałeś tę datę na podstawie jakichś danych z bazy, a teraz na podstawie time i problem rozwiązany? biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.