Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
GmAMXBans

[ROZWIĄZANE] Skrypt zwiększający ważność admina

GmAMXBans

  • Zamknięty Temat jest zamknięty
11 odpowiedzi w tym temacie

#1 panczo12d

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 08.08.2012 17:39

Witam. Pisze skrypt zwiększający ważnośc admina w GmAMXBansie. Mam pytanie. Co zwiększyć w bazie aby działało? Pole `expired` czy `days`. A może to i to? Jak to zrobić?

Pozdrawiam.
  • +
  • -
  • 0

#2 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 08.08.2012 17:47

Na czym będzie polegać ten skrypt ?
Przecież edytując admina możesz rozszerzyć jego długość
  • +
  • -
  • 1

DarkGL to mój autorytet.


#3 panczo12d

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 08.08.2012 18:01

Tak, wiem. Ale niedługo szkoła która jest ważniejsza od komputera. Nie będę miał zbyt dużo czasu na zbieranie składek od adminów i ręczne dodawanie im kilku dni aktywności. Napisałem już sobie cały skrypt automat z zintegrowaną płatnością SMS proserwer (cURL) i została mi jeszcze kwestia wydłużania czasu aktywności admina.
Nie mam pojęcia czy zwiększyć samo pole `days`, czy też trzeba zmienić pole `expired` które odpowiada za ważnośc admina w sensie dzien-miesiac-rok godzina-minuta-sekunda.
  • +
  • -
  • 0

#4 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 08.08.2012 18:01

ale mu pewnie chodzi o jakiś sklep coś w tym stylu

Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#5 panczo12d

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 08.08.2012 18:14

tak, to jest taki skrypt pisany od 0.
screen: http://img20.imagesh...8/screenyxk.png
po lewej przed zalogowaniem, po prawej po zalogowaniu.

Po wyslaniu sms i wpisaniu wszystkich danych skrypt sprawdza poprawność (automatycznie) i jeżeli jest wszystko ok, należy zwiększyć ważność admina.
  • +
  • -
  • 0

#6 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 08.08.2012 18:27

użyj expired oraz days z tym że w kolumnie days wpisywana jest ilość dni normalnie np. 1 dzień to w kolumnie jest wartość 1
natomiast w kolumnie expired jest mnożenie days * 86400 (czyli zamiana na sekundy) jeżeli na zawsze to w obu przypadkach wartość wyniesie 0
  • +
  • -
  • 1

DarkGL to mój autorytet.


#7 panczo12d

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 08.08.2012 18:43

ok, dzięki za pomoc. w skrypcie bd zmienial i pole days iexpired. z tym że mylisz się odnośnie pola expired. to nie jest żadne mnożenie days przez xxx.

wyjaśnię Ci.

Pole expired jest to data do kiedy admin jest ważny w formacie timestamp.
Przykład:

data w timestamp: (php) [na teraz aktualna]

$godzina = 19;
$minuta = 29;
$sekunda = 0;
$miesiac = 8;
$dzien = 8;
$rok = 2012;
$ts = mktime($godzina, $minuta, $sekunda, $miesiac, $dzien, $rok);
echo $ts;

powyższy skrypt wyświetli datę w formacie timestamp.

amxbans robi to tak, że bierze aktualną datę, do tego dodaje te days powiedzmy + 5 dni, tworzy timestamp i zapisuje do bazy danych.


musze jeszcze poogarniać jak się dodaje timestampy i kilka rzeczy, muślę że mi się uda.

Pozdrawiam.

cytat "podstawowym sposobem zapisu daty w systemie unix jest tzw. timestamp. jest to ilosc sekund jaka upłuneła od 1.1.1970."

Użytkownik panczo12d edytował ten post 08.08.2012 18:49

  • +
  • -
  • 0

#8 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 08.08.2012 19:04

Źle się zrozumieliśmy ponieważ nie wspomniałem o UNIX_TIMESTAMP()
zmienna days jest mnożona przez 86400 (1 dzień na sekundy) liczby które zostaną wygenerowane są zapisywane do bazy, kolumna expired
następnie na stronie jest wyświetlana kompletna data ;)
  • +
  • -
  • 1

DarkGL to mój autorytet.


#9 panczo12d

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 08.08.2012 20:01

ok.musze zmienic pole days i expired. tylko nie rozumiem jaka wartosc wpisac w expired.

wytlumacz mi na przykladzie.

admina utworzylem 01.01.2012 12.00.00
dalem mu aktywny przez 6 dni
wiec bedzie aktywny do 07.01.2012 12.00.00
w poly days jest liczba 6 a w expired jakas, nie wiem jaka.

teraz przez moj skrypt zmieniam days z 6 na 10 i jak mam zmienic pole exoired?

moze pole created+days*86400

Użytkownik panczo12d edytował ten post 08.08.2012 20:11

  • +
  • -
  • 0

#10 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 08.08.2012 21:17

tak jak już pisałem z kolumny expired jest wyświetlana ważność admina (pełna data do kiedy) (zerknij na screen)
Spoiler

'admin aktywny przez:' w tym polu jest pobierana kolumna days
'ważny przez:' data 7.08.... jest to kolumna epired
natomiast 'rozszerzony o' jest to dodanie do created wartości jaka zostanie dodana i pomnożona przez 86400



przy dodawaniu admina kolumna created ma automatycznie aktualną datę poprzez funkcję UNIX_TIMESTAMP().
wartość dodawania do kolumny expired
$days=(int)$_POST["days"];
$exp="(UNIX_TIMESTAMP()+(".($days * 86400).")),";
zmienna days ma wartość dni np. 30
w zmiennej exp zostaje to pomnożone oraz dodane do UNIX_TIMESTAMP

Przy rozszerzaniu kod zmiennej exp się zmienia
$exp="(`created`+(".($days * 86400)."))";
teraz do daty utworzenia admina (wygenerowane przez UNIX_TIMESTAMP) zostaje dodany wynik mnożenia dni dodania z 86400
Kawon (08.08.2012 21:18):
Nie potrafię ci tego za bardzo wytłumaczyć. Przeczytałem to co ci napisałem i sam tego nie mogę zrozumieć xD napisz do mnie na PW najlepiej ;)

  • +
  • -
  • 1

DarkGL to mój autorytet.


#11 panczo12d

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Paweł
  • Lokalizacja:Nowa Dęba
Offline

Napisano 10.08.2012 08:34

Ja jednak rozumiem to. Dziękuję za pomoc. Skrypt udało mi się dokończyć i działa jak marzenie :) Można zamknąć, ale jeszcze musze Cię poprawić :D

natomiast 'rozszerzony o' jest to dodanie do created wartości jaka zostanie dodana i pomnożona przez 86400

- jest to zmodyfikowanie pól `days` i `expired`. Do `days` jest dodawana liczba którą tam wpiszemy a pole `expired` jest modyfikowane w następujący sposób

$nowy_expired = $stary_expired + $dni_w_formularzu_na_stronie * 86400


wartość dodawania do kolumny expired
$days=(int)$_POST["days"];
$exp="(UNIX_TIMESTAMP()+(".($days * 86400).")),";


- nie unix_timestamp() tylko pole created :)

zmienna days ma wartość dni np. 30
w zmiennej exp zostaje to pomnożone oraz dodane do UNIX_TIMESTAMP


- oraz dodanie wartości pola created ;)

No ale najważniejsze że nakierowałeś mnie na trop i udało mi się osiągnąć cel :) Jeszcze raz dzięki :D

Pozdrawiam.

Użytkownik panczo12d edytował ten post 10.08.2012 08:36

  • +
  • -
  • 0

#12 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 10.08.2012 15:10

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

DarkGL to mój autorytet.






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych