Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

godred

[PHP+MySQL] Mały projekt

Rekomendowane odpowiedzi

Tworze mały system CMS i proszę o parę porad:

1. moduł pisania artykułów chce oprzeć tak, aby np. admin mógł używać kodu PHP/JS, moderator wszystkich/większości znaczników HTML/CSS, a zwykły użytkownik jedynie gotowych rozwiązań narzędzia WYSIWYG - tu pytanie jak to dobrze rozegrać? Całość chce wysyłać do bazy danych - potem wyświetlać; Chodzić również będzie o bezpieczeństwo -> jakieś rady?

2. .htaccess i jego generowanie po przez PHP > czy lepiej zastąpić gotowcami, zależnymi od wyboru? Ma może ktoś gotowe rozwiązanie takiego systemu? Wiem jak to ma wyglądać, ale moja wiedza to nie wszystko, aby było dobrze;

3. Jak zrobić aby system zarządzania plikiem po przez edytor CMS-a było bezpieczne? Kiedyś sam Wordpress stosował zabezpieczone pliki(trzeba było zmieniać dostęp chmod-a), teraz bez problemu edytuje się cały szablon -> umożliwił to w jakiś sposób rozwój PHP?

4. Jak pisać kod, aby to było przyjazne nie tylko dla baz MySQL ale i innych?

 

PS. Tworzenie prostego, darmowego CMS-u traktuje jako rozrywkę, przy okazji uczę się (na błędach) - pomoc Wasza będzie bezcenna.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. jeden i tylko jeden sposób edycji, jak chcesz dodatkowe rzeczy na stronie, to ze względu na poziom usera pokazujesz select z dozwolonymi elementami bądź tagi do wstawienia do tekstu

2. routing, wszystkie wywołania kierujesz do index.php, w nim decydujesz co wyświetlić

3. zamiast edytować pliki lepiej trzymać w bazie treść potrzebną do wygenerowania tego co się będzie wyświetlało ludziom na ekranie (jak masz suphp albo fastcgi, to możesz edytować pliki z poziomu php)

4. z głową, nie rób debilnie jak wordpressa, to nie będzie problemów ... większych

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. jeden i tylko jeden sposób edycji, jak chcesz dodatkowe rzeczy na stronie, to ze względu na poziom usera pokazujesz select z dozwolonymi elementami bądź tagi do wstawienia do tekstu

2. routing, wszystkie wywołania kierujesz do index.php, w nim decydujesz co wyświetlić

3. zamiast edytować pliki lepiej trzymać w bazie treść potrzebną do wygenerowania tego co się będzie wyświetlało ludziom na ekranie (jak masz suphp albo fastcgi, to możesz edytować pliki z poziomu php)

4. z głową, nie rób debilnie jak wordpressa, to nie będzie problemów ... większych

1. OK, ale jak user wpisze ręcznie kod HTML-a? Mogę filtrować na wyjściu, przed zapisaniem znaczniki zaczynające się od '<', ale czy to będzie efektywne? A jak ktoś będzie chciał zastosować nawias tego typu?

2. Tak, będzie zarządzane przez główny index, ale głównie chodzi mi o generowanie przyjaznych linków - tu chyba na starcie zastosuje kilka rodzajów zapisu nazw - chyba się nikt nie obrazi, jeśli będzie możliwość jedynie stosowania wzorów przyjaznych nazw linków?

3. Mówię raczej o plikach szablonów i ich edycji kodu

4. Hmm nie zgłębiałem się w bazę WP, może zapodasz ciekawe błędy przy projektowaniu tego CMS-a?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

strip_tags z dozwolonymi tagami

 

przyjazne linki dodawane przez aktywne moduły

 

wrzuć sobie wordpressa, kilka wtyczek, a następnie SAVE_QUERIES i wstawkę do stopki pokazującą listę zapytań; jeśli ma być dobrze, to lepiej będzie jeśli już wcześniej przewidzisz to, że będą potrzebne dodatkowe dane i że do listy rekordów lepiej zrobić

$id[] = $row['id'] ;
$query = "select dodatkowe dane where id in ( '$polaczone_id' ) 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

strip_tags - już mi się podoba :)

 

No niestety będę musiał się zmierzyć z projektem bazy danych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

żeby było jak najmniej problemów, to położenie na stronie musisz określić zanim zaczniesz generować treść strony, w przeciwnym wypadku trafisz na przeszkodę: jak pokazać pasek z położeniem (breadcrumb) przed właściwą treścią

 

możesz też wzorować się na wordpressie, ale z małym wyjątkiem: niech moduły mają możliwość poinformowania głównego silnika, że będą chciały doklejać dodatkową treść do poszczególnych list (czy to artykułów, czy produktów, czy co tam będziesz miał)

 

tak ogółem, to mam napisane dwa cmsy, więc jakby co, to mogę co nieco podpowiedzieć

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

żeby było jak najmniej problemów, to położenie na stronie musisz określić zanim zaczniesz generować treść strony, w przeciwnym wypadku trafisz na przeszkodę: jak pokazać pasek z położeniem (breadcrumb) przed właściwą treścią

 

możesz też wzorować się na wordpressie, ale z małym wyjątkiem: niech moduły mają możliwość poinformowania głównego silnika, że będą chciały doklejać dodatkową treść do poszczególnych list (czy to artykułów, czy produktów, czy co tam będziesz miał)

 

tak ogółem, to mam napisane dwa cmsy, więc jakby co, to mogę co nieco podpowiedzieć

Jeśli chodzi o breadcrumb to już nawet zostało zaplanowane miejsce na niego w layoucie. Jeśli chodzi o sam system, to myślę, że mniej więcej wiem jak go zbuduje. Jeszcze muszę to przelać na kartkę i poskładać, chodź jak mówię, to będzie mały projekt.

 

Mam pomysł na moduły, ale kwestia jest bardziej w tym, czy okaże się ten sposób efektywny. Na razie zacząłem opracowywać układ CMS-a, więc na efekty trzeba będzie poczekać.

 

Może jeszcze takie pytanie: Czy warto oprócz osobnej strony jako panel sterowania, zastosować szybką edycję z poziomy strony głównej za pomocą JS i bibliotek JS? Czy może stosować przycisk po którym przechodzić do panelu admina i wtedy edytować?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

osobny panel, z dynamicznym menu zależnym od uprawnień użytkownika

 

każdy moduł będzie zawierał przeważnie 4 funkcje:

1. lista rekordów związanych z modułem

2. formularz dodawania/edycji

3. zapis danych

4. kasowanie danych

oraz ewentualnie dodatkowo:

5. zmiana flagi (widoczne, pokazuj w stopce, pokazuj w górnym menu, itd)

 

dlatego przyjąć można konstrukcję:

- szablon pokazujący listę elementów

- szablon z formularzem

- skrypt zarządzający

 

nowy i edycja to jedna i ta sama funkcja, z tą różnicą, że spełniony jest warunek !empty( $id )

 

do funkcji pokazującej dane warto jest dodać callback, wtedy możesz wpływać na dane (np. zamienić status liczbowy na status słowny)

 

left join do dowiązań nie mających wpływu na dane, inner join na połączenia filtrujące

 

liczba rekordów do danego modułu (jeśli potrzebujesz wiedzieć ile ich jest) to główne zapytanie zmienione na select count(*) z pominięciem left joinów (tekst zapytania ucinasz do "from")

 

warunki na szukanie w tabeli zapisujesz jako np. f_costam w $_GET (może być potrzebne url_decode)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...