![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam, jestem początkujący w php i codziennie staram się coś skrobać w kodzie.
Dzisiaj napisałem własny kalendarz z możliwością rezerwacji danego terminu. Tutaj nie ma z tym większych problemów. Problem wystąpił teraz, gdyż wyświetla mi tylko aktualny miesiąc i nie ma możliwości przewijania do przodu/wstecz. Moje pytanie brzmi następująco: jak można dorobić takie strzałki? Nie chcę póki co umieszczać tutaj kodu, bo sprawa jest dosyć prosta, tylko ja nie wiem jak to technicznie rozwiązać. Mam zmienną $miesiąc, więc naturalnym jest, że po kliknięciu w "następny" powinno nastąpić $miesiąc+1, a w "poprzedni" $miesiąc-1, niestety nie wiem jak to rozwiązać, albo mam chwilowe zaćmienie. Za wszelkie wskazówki dziękuję. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale z czym masz problem? NIe umiesz dodac/odjac jeden od miesiaca?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
pewnie chodzi Ci o sam mechanizm zapisywania zeby bylo wiadomo ktory miesiac jest aktualnie brany pod uwage. Mozesz zapisac to w parametrze URL po wcisnieciu przycisku albo zapisywac chwilowo w sesji aktualny miesiac wyswietlany.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to lepiej w URL, bo jak zrobi nastepny/poprzedni to wlasnie poprzez link
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Problem jest w tym, ze nie wiem jak zrobic ten caly mechanizm, ze wlasnie po kliknieciu nastepuje przeladowanie.
Jeszcze jest druga sprawa, czy dalo by sie to zrobic bez przeladowania strony? Rozumiem, ze wtedy javascript by tylko wchodzil w gre? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zrób to najpierw z przeładowaniem, a potem myśli o usprawnieniu tego ajaxem (kod się nie zmarnuje bo to będzie podobne).
Strzałki zrób w oparciu o linki bądź formularze GET - nie ma to większego znaczenia byle w linku przekazać wartość z miesiącem (no i raczej rokiem też..). Dodatkowa korzyść to możliwość wysłania komuś linku z wyświetlaniem konkretnego miesiąca. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ok, jak zrobić to przez link już mniej więcej wiem. Jednak wszystko mam w funkcji, a zmienna $miesiac poza funkcja nie istnieje, dobrze rozumiem?
Wrzucam kod i proszę o małą pomoc jak go orientacyjnie zmodyfikować. Wiem, że funkcję mogę wyrzucić, jednak wtedy występuje mały problem z "kolorowaniem" dni zajętych, które się znajdują w bazie.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
co do pierwszej kwestii to oczywiscie że $miesiac poza funkcja nie istnieje bo ta zmienna jest zmienna lokalna tworzoną podczas wywołania funkcji... tylko teraz pytanie w czym tkwi twój problem? bo albo ja jestem ślepy albo nie ma tu dalej kodu do zmiany tych miesiecy wiec czego od nas oczekujesz?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Problem jest ze zmodyfikowaniem kodu tak, aby zmienna $miesiac wystepowala poza funkcja (chyba ze jakos inaczej mam ja przekazac do linku?), lub pomoc w calkowitym zlikwidowaniu funkcji.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
przecież miesiąc pobierasz tutaj dokładnie odpowiada mu date("m") wiec nie potrzebujesz mieć dostępu do zmiennej z funkcji, skoro ona itak pobiera wartość z zewnątrz i jej nigdzie nie modyfikuje ![]() tak poza tematem to $rok też bym rzutował na inta ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ok, zrobiłem linki w ten sposób:
w linku wszystko ładnie wygląda, ale kalendarz się nie przewija. Rozumiem, że teraz muszę tą zmienną zebrać jeszcze raz? Jak to zrobić? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
pozostawienie tego w takiej surowej postaci może być niebezpieczne, ale ogl teraz robisz to tak że pobierasz wartość z $_GET a następnie przekazujesz ja do funkcji np tak rysujKalendarz((int)$_GET['m'],date("Y")); jeśli GET istnieje oczywiście bo jak nie to wywołujesz tak jak wcześniej
![]() Ten post edytował com 4.10.2013, 00:58:15 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 26.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Super, już mi sie rozjasnilo i to bardzo, dziekuje.
Mam jeszcze pytanie odnosnie bezpieczenstwa, dlaczego taka forma moze byc grozna i jak ewentualnie cos takiego zabezpieczac? Czy moj kod jest "dobry"? Chodzi o to czy nie robie jakis bezsensownych bledow. Podbijam do góry... Bardzo proszę o informacje dlaczego taki zapis może być niebezpieczny i jak się przed tym chronić, lub jakiś odsyłacz, gdzie mogę o tym poczytać, dzięki! |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
chodziło mi o to, że np wywołanie adresu np strona.pl/offert.php?m=-1 mogło by spowodować nieoczekiwane błędy tak samo można by się w ten sposób pokusić o wstrzyknięcie zapytania do bazy czyli popularne http://pl.wikipedia.org/wiki/SQL_injection, ale tak jak napisałem konwersja na int jest poniekąd rozwiązaniem, ale tak czy tak przydało by się usunąć znaczniki html ze zmiennych, mimo iż teoretycznie nie liczba zostanie prze-konwertowana do nula(0) ale to już przed podaniem wartości -1 nie uchroni
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:32 |