Nie jesteś zalogowany na forum.
Strony: Poprzednia 1 2 3 Następna
Ocenianie CMS jedynie po demo jest niezbyt pomocne dla twórcy - wgląd w kod natomiast pomógłby Ci dopracować system. Chyba że jakoś pilnie go strzeżesz : P
W każdym razie takie projekty są idealne do nauki - sam jestem na etapie tworzenia CMS i przyznam, że na błędach nauczyłem się wiele.
Zobaczyłem, co mogłem w Twojej aplikacji i to, co jest do poprawy, to na pewno wygląd. Jest straszny, a interfejs niekoniecznie intuicyjny. Chwilę zajęło mi znalezienie odnośnika do pełnej wersji artykułu, a powinien być tam, gdzie zawsze - podpięty pod nagłówek, albo w formie widocznego buttona. Jeżeli zamierzasz to rozwijać, znajdź kogoś od front-endu. Ewentualnie sam się tym zajmij, bo dzięki potędze frameworków można zdziałać cuda. Ja jestem upośledzony pod względem estetyczno-graficznym, ale efekty mojej pracy wyglądają naprawdę okej dzięki Bootstrapowi, który de facto został stworzony dla back-end dev. Polecam się zapoznać.
W samym funkcjonowaniu CMSa jakichś rażących błędów się nie dopatrzyłem, chociaż przenoszenie użytkownika na oddzielną stronę w razie błędu (chociażby podczas oceniania, kiedy dany user oceniał artykuł w przeciągu ostatnich pięciu minut) jest trochę uciążliwe. Pomyśl może o zastosowaniu AJAXa, z pewnością wyjdzie Ci to na dobre : P
No i tak, jak mówiłem - bez wglądu w kod ciężko jest powiedzieć co robisz źle, a co mogłoby być zrobione lepiej. Strzelam, że kod piszesz od podstaw, a po strukturze plików w URL widzę, że nie korzystasz z żadnego wzorca. Radziłbym się zapoznać z MVC (o ile opanowałeś już podstawy OOP), który jest nieodłączoną częścią aplikacji internetowych. W ramach nauki, oraz ułatwiania sobie pracy zacznij uczyć się jakiegoś frameworka - w każdym ogłoszeniu o pracę dla programisty PHP wymagany jest jakiś. Na początek polecałbym Codeignitera - banalna konfiguracja na zasadzie "pobierasz i korzystasz" no i dzięki niemu poznasz od podszewki zasadę działania MVC. Poza tym Codeigniter jest dobry tylko na początek, bo w większości ogłoszeń, które widziałem wymagane jest Symofny, Laravel, albo Zend. Tutaj z konfiguracją jest trochę trudniej. Sam zacząłem od CI i nie narzekam.
Rzecz jasna pisanie własnego frameworka to też świetna metoda nauki, ale w celach komercyjnych lepiej jest korzystać z tych sprawdzonych i stale rozwijanych.
Tyle ode mnie. Powodzenia o rozwijaniu projektu : )
PS. Data i godzina w lewym, górnym rogu jest absolutnie zbędna ^ ^
PS2. O RWD też możesz poczytać, bo niedługo stanie się nieodłączną częścią internetu (o ile już nie jest).
Ostatnio edytowany przez Yaren (2015-05-26 15:26:48)
Offline
Jak na pierwszy taki system to jest OK, ale tak jak pisał kolega wyżej - albo całkiem odpuść sobie front-end, albo solidnie nad tym popracuj.
No ale czy masz jakieś zdolności graficzne czy nie, to i tak "ergonomia" powinna być trochę lepsza, ale to zawsze będziesz miał czas się nauczyć
No i bez kodu to trudno cokolwiek powiedzieć, ale mam jedno zasadnicze pytanie - rozumiem, że haseł w bazie nie przechowujesz jawnie?
Offline
SCREEN - Tak wyglądają hasła w bazie. Oczywiście metoda utajniania haseł jest tajna, jakkolwiek to dziwnie brzmi
Yaren:
Kodu raczej nie udostępnię przed zakończeniem pracy nad projektem (wypuszczeniem wersji 1.0 )
Co do frameworków to nawet nie chce mi się o nich uczyć, bo jak słusznie zauważyłeś 'nie korzystam z żadnego wzorca'. Sam sobie powiedziałem, że nauczę się ich jak będę już szukał pracy lub stażu, a na razie mam jeszcze kolejny rok technikum i kilka lat studiów
Kody obsługi błędów są nie fajne dla użytkownika końcowego, jednak fajne dla mnie, bo widzę gdzie co się stało i jakoś to później będę ogarniał, aby wygląd był lepszy. Cały front-end trzeba ogarnąć, bo teraz jest taki, aby nie było, że to biała strona z linkami i kodem, tylko coś, gdzieś jednak widnieje.
Co do uwag szczegółowych tj. 'Przejdź do wpisu' to już rozważę konkretniej.
Póki co jestem świadom swej niewiedzy o wielu rzeczach, jednak głównym założeniem projektu jest to, że nie chcę pisać czegoś co będzie ważyło dużo, a mało robiło albo robiło o dużo za dużo. Dlatego m.in. zastanawiam się czy ten ChatBox to dobry pomysł.
Rudik:
Jeżeli pod pojęciem 'ergonomia' zdefiniowałeś prędkość działania aplikacji to całkiem Cię rozumiem, że jest słaba. Jednak nie jest to jej wada, a hostingu na którym jest umieszczona strona. Reklamy + mały zasób serwerowy = wolna strona.
Gdy testuję ten system na lokalnym serwerze Apache+MySQL to chodzi to jak powinno (szybko)
A jeżeli w tym słowie kryje się nie trzymanie się norm programistycznych, frameworków czy innych takich to patrz (ja ich nie przestrzegam w tym projekcie)
Co do haseł to link do screena jest na początku tego posta.
Zmiany:
Datę i czas ustawiłem na fixed, aby 'jeździła' za użytkownikiem
Na więcej zmian w ciągu tych dwóch dni czasu nie miałem, bo musiałem zaliczyć kilka przedmiotów humanistycznych w szkole
Offline
Baczus mówiąc "ergonomia" (w zasadzie mogłem pomyśleć nad jakimś lepszym słowem...) miałem na myśli ten "drewniany", archaiczny i niezbyt wygodny w użytkowaniu wygląd i budowę strony. Czyli to, co mówili już inni przede mną.
Przy tak niewielkiej ilości danych w bazie, prostych zapytaniach i praktycznie samym HTML+CSS w front-endzie musiałbyś się naprawdę postarać, żeby strona chodziła wolno
Screen wygasł, ale lepiej nie pokazuj nawet zahashowanych haseł z bazy.
Wciąż nie wiem jak te hasła tam trzymasz, powiem tylko, że lepiej nie używać md5 czy sha1.
Ogólnie to kwestia bezpieczeństwa przechowywania haseł to dosyć obszerny temat i warto o tym trochę poczytać. Gdzieś w swoich zakładkach znalazłem taki artykuł: https://crackstation.net/hashing-security.htm
Z tego co pamiętam to jest tam to fajnie wytłumaczone.
P.S. Taki mały tip - na większości wielkich serwisów logo jest klikalnym linkiem przekierowującym na str. główną.
Przez to nawet na małych stronach warto tak robić, bo większość ludzi ma taki nawyk, że po kliknięciu w logo idą na str. główną.
Ostatnio edytowany przez Rudik (2015-05-27 15:31:28)
Offline
A jeżeli w tym słowie kryje się nie trzymanie się norm programistycznych, frameworków czy innych takich to patrz [dblpt]gora[dblpt] (ja ich nie przestrzegam w tym projekcie)
Błąd. Olewając zasady dobrego programowania od początku wyrabiasz sobie złe nawyki, których potem trudno się wyzbyć. Jeżeli chcesz mieć dobry start, rób wszystko najlepiej jak umiesz, czytaj, dowiaduj się i stosuj do norm.
Co do frameworków to nawet nie chce mi się o nich uczyć, bo jak słusznie zauważyłeś 'nie korzystam z żadnego wzorca'. Sam sobie powiedziałem, że nauczę się ich jak będę już szukał pracy lub stażu, a na razie mam jeszcze kolejny rok technikum i kilka lat studiów [dblpt]mrgreen[dblpt]
Pisanie wszystkiego od początku to dobra metoda nauki, więc Twoją niechęć do frameworków pehapa rozumiem (choć z czasem i tak będziesz musiał po jakiś sięgnąć). Niemniej z Bootstrapem mógłbyś się zapoznać. Praca z nim polega na kopiowaniu i wklejaniu klas z dokumentacji, a oferuje masę przydatnych komponentów, przyspieszających tworzenie front-endu. No i domyślnie korzysta on z media queries, znacząco ułatwiając tworzenie responsywnych stron.
Póki co jestem świadom swej niewiedzy o wielu rzeczach, jednak głównym założeniem projektu jest to, że nie chcę pisać czegoś co będzie ważyło dużo, a mało robiło albo robiło o dużo za dużo. Dlatego m.in. zastanawiam się czy ten ChatBox to dobry pomysł.
Najlepszym sposobem na zmniejszenie niewiedzy, jest nabywanie wiedzy. A wiedzę o programowaniu najlepiej nabywać w praktyce (oczywiście obowiązkowym źródłem teorii jest dokumentacja PHP), więc pisz. Jak coś się spieprzy, to będziesz wiedział gdzie zrobiłeś błąd i następnym razem go nie popełnisz.
W kodzie HTML/CSS też musisz poprawić parę rzeczy. Style lokalne nie powinny być już stosowane, jeżeli chcesz, żeby CMS był zgodny z obecnymi standardami. Podobnie z kodem JS. Chodzi o rozdzielenie strony na warstwę zawartości (HTML), wyglądu (CSS) i zachowania (JS chociażby), które nie powinny się przeplatać. Poza tym poczytaj o nowościach w HTML5.
Przykładowo to:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
możesz zastąpić tym:
<!DOCTYPE html>
Kodu raczej nie udostępnię przed zakończeniem pracy nad projektem (wypuszczeniem wersji 1.0 ) [dblpt]rolleyes[dblpt]
Bez kodu więcej powiedzieć nie mogę. Nie wiem, jak to wygląda od środka, a to jest najważniejsze. Póki co możemy oceniać tylko front-end, który bardzo mocno kuleje.
Ostatnio edytowany przez Yaren (2015-05-27 16:41:00)
Offline
Nie zamieniaj
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
na
<!DOCTYPE html>
bo możesz stracić polskie znaki
Offline
Nie zamieniaj
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
na
<!DOCTYPE html>
bo możesz stracić polskie znaki
Skąd taki pomysł? Ta deklaracja odpowiada tylko za typ dokumentu, a za nie za kodowanie. Nie wprowadzaj kolegi w błąd : )
Poza tym takie są obecne standardy. Nie tylko może zmienić ten kod, ale nawet powinien, jeżeli chce, żeby walidatory nie sypały błędami.
Ostatnio edytowany przez Yaren (2015-05-27 17:00:28)
Offline
Poza tym takie są obecne standardy. Nie tylko może zmienić ten kod, ale nawet powinien, jeżeli chce, żeby walidatory nie sypały błędami.
Ja widzę tylko 5 błędów (jeden jest przez to że mam malwarebytes, a drugi przez to że jakiś skrypt i to chyba nie jego się źle załadował a trzy ostatnie dlatego że 3 linijki są błędne) a jak zamieni tamto na to co pisałeś to nie będzie polskich znaków na starych przeglądarkach
Ostatnio edytowany przez killer12233 (2015-05-28 10:44:59)
Offline
Yaren napisał/a:Poza tym takie są obecne standardy. Nie tylko może zmienić ten kod, ale nawet powinien, jeżeli chce, żeby walidatory nie sypały błędami.
Ja widzę tylko 5 błędów (jeden jest przez to że mam malwarebytes, a drugi przez to że jakiś skrypt i to chyba nie jego się źle załadował a trzy ostatnie dlatego że 3 linijki są błędne) a jak zamieni tamto na to co pisałeś to nie będzie polskich znaków na starych przeglądarkach
Odpalałem stronę na każdej przeglądarce, w tym IE6-IE11 - wszystko działa jak należy. Jeżeli faktycznie spotkałeś się z takim błędem, nie był on spowodowany nową deklaracją DOCTYPE.
Poza tym polecam zapoznać się z tym artykułem:
Offline
Ok, więc przed chwilą zaimplementowałem ' (apostrofy) do treści komentarzy - nie są już zamieniane na " (cudzysłowie).
Do tego obsługa linków w bbcode została lekko dopracowana, aby nie móc im przypisać stylu (i np. wielkości), za znalezienie tego błędu dziękuję Yarenowi
No ale nie jest to jeszcze tak do końca dopracowane, bo wiem, że pewnie coś pominąłem dlatego czekam na nowe błędy od Was.
Ostatnio edytowany przez Baczus (2015-05-28 18:12:15)
Offline
zrób żeby można było używać BBCode na stronie i usuwać swoje komentarze albo przynajmniej je edytować
Offline
Przeczytałeś o tym BBCode
Legenda do BBCode to znaczniki HTML ale zamiast < mają [ :
Czyli piszesz
[b]
a nie
<b>
.
Co do edycji to postaram się dopisać w ten weekend.
Wiadomość dodana po 1 h 02 min 47 s:
Właśnie skończyłem pisać ten program do edycji komentarzy, możecie się z nim pobawić. Sorki za usunięcie starych komentarzy, ale
nie dałem warunku WHERE w zapytaniu SQL i zmieniło mi atrybut treści dla wszystkich rekordów komentarzy
Więc wolałem, żeby nie było takich samych komentarzy wszędzie i usunąłem wszystkie
Więc teraz możecie także testować edycję komentarzy
Offline
Zmień napis "Przejdź do wpisu Komentuj" na "Przejdź do komentarzy" a najlepiej jakby pod jednym wpisem były 3 pierwsze komentarze a po tych komentarzach napis "Wszystkie komentarze"
Offline
Nie jestem wredny, ale zostawiłem ci przykrą niespodziankę na stronie głównej.
Jakbyś miał problem z lokalizacją gdzie wystąpił problem pisz pw.
Tego typu błędów lepiej pozbyć się od razu ---> ja zrobiłem tak ale inni mogą mieć bardziej "ciekawsze" zamiary.
Offline
if (miesiac==1) {tekst_miesiac="stycznia"}
if (miesiac==2) {tekst_miesiac="lutego"}
if (miesiac==3) {tekst_miesiac="marca"}
if (miesiac==4) {tekst_miesiac="kwietnia"}
if (miesiac==5) {tekst_miesiac="maja"}
if (miesiac==6) {tekst_miesiac="czerwca"}
if (miesiac==7) {tekst_miesiac="lipca"}
if (miesiac==8) {tekst_miesiac="sierpnia"}
if (miesiac==9) {tekst_miesiac="września"}
if (miesiac==10) {tekst_miesiac="października"}
if (miesiac==11) {tekst_miesiac="listopada"}
if (miesiac==12) {tekst_miesiac="grudnia"}
Nie lepiej byłoby wrzucić wszystkie miesiące do tablicy i odwoływać się do nich po indeksie?
months = new Array('stycznia', 'lutego'...'grudnia');
tekst_miesiac = months[miesiac-1];
To samo tyczy się dni tygodnia.
Poza tym lepiej jest używać metody addEventListener() zamiast atrybutów onLoad, onClick, onMouseOver etc.
Offline
Strony: Poprzednia 1 2 3 Następna