• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosty cms generowanie podstron

VPS Starter Arubacloud
0 głosów
772 wizyt
pytanie zadane 5 maja 2016 w Nasze projekty przez Dynamic Bywalec (2,910 p.)
Witam, napisałem sobie prosty "CMS", działający na zasadzie: 1. Wysyła metoda post nagłówek i treść artykulu . 2. Zapisuje do bazy danych. 3. pobiera z bazy danych i wyświetla na strone. Mam kilka pytań związanych z dalsza nazwa: 1. Jak zrobić żeby każdy wpis wyświetlał jedynie 50 znaków potem wielokropek. 2. Jak po kliknięciu w odnośnik (nagłówek artykulu )generować się będzie strona z tym artykułem - tutaj prosilbym o wyjaśnienie na jakiej zasadzie to się " tworzy" Nie oczekuje gotowych rozwiązan, a jedynie wskazówki / schemat dzialania , z Giry dziękuje za pomoc :)

3 odpowiedzi

+2 głosów
odpowiedź 5 maja 2016 przez Arkadiusz Waluk Ekspert (287,550 p.)
1. Zrób po prostu przycinanie tekstu np. funkcją mb_substr, która wytnie Ci określoną ilosć znaków i do tego dostaw trzy kropki.

2. Wystarczy przekazać w adresie coś, co zidentyfikuje dany artykuł - może to być id, jakiś specjalny hash czy tekst, tu już pytanie do Ciebie jak chcesz to zrobić. Można to przesłać metodą GET, wtedy miałbyś link w postaci np. index.php?article=5 (w miejscu 5 byłaby zmienna cyferka z id artykułu). W ten sam sposób można przesłać oczywiście też jakiś tekst, identyfikowanie po cyferkach jest raczej mało przyjemne dla użytkownika. I wtedy odczytujesz to w PHP i robisz odpowiednie zapytanie do bazy danych tylko o ten wpis (WHERE). A aby wyświetlić całą listę plików wystarczy po prostu pobrać wszystkie artykuły z tabeli (lub ich część) i w pętli odpowiednio podstawić co trzeba do linków.

Zapytasz też zapewne jak zrobić takie "ładne" adresy jak są np. na forum (żeby nie było tego ?zmienna=coś). Tutaj rzucam hasło przepisywanie adresów i mod rewrite, znajdziesz pełno przykładów w Google - w skrócie możesz tym dowolnie przepisywać adresy żeby wyglądały tak jak chcesz ;)
komentarz 5 maja 2016 przez Dynamic Bywalec (2,910 p.)
A metoda przesyłania danych Sesią ? :)
komentarz 5 maja 2016 przez Mateusz11 Pasjonat (22,910 p.)
Albo zamiast np. artykul.php?id=5 to dodałbym .htaccess tak aby było coś takiego: ./article/5 albo ./article/naglowek-mojego-artykulu
komentarz 5 maja 2016 przez Arkadiusz Waluk Ekspert (287,550 p.)
Sesją? W tym konkretnym przypadku nie widzę sensu jej użycia, chyba że opiszesz dokładniej co miałeś na myśli.

Co chciałbyś trzymać w tej sesji? Skoro użytkownik wchodzi pod podany adres to właśnie na podstawie adresu wypadałoby identyfikować jaki artykuł należy wyświetlić.
komentarz 5 maja 2016 przez Mateusz11 Pasjonat (22,910 p.)
No sesja trochę bez sensu, i dziwnie by to wyglądało, ta sesja... Łee....
komentarz 5 maja 2016 przez Arkadiusz Waluk Ekspert (287,550 p.)
@Mateusz11 z przepisywaniem podałem tylko przykład na szybko i zaznaczyłem że dzięki temu może właściwie dowolnie zmieniać adres.
komentarz 5 maja 2016 przez Dynamic Bywalec (2,910 p.)
Jak będę miał dostęp do komputera to spróbuje wysłać te dane metoda Get tylko nie mam pomysłu jak to by miało się odbyć zaraz po kliknięciu w Nagłówek i na podstawie id spróbuje wygenerowac dany artykuł - o ile dobrze zrozumiałem :> ? O przyjaznych adresach poczytam, słyszałem tez ze nie wolno mieszać szablonu z PHP
komentarz 5 maja 2016 przez Arkadiusz Waluk Ekspert (287,550 p.)
Tak, jeśli pytasz o wyświetlenie pojedynczego artykułu to należy odczytać to co zostało podane w GET i na tej podstawie pobrać i wyświetlić odpowiedni artykuł. A jeśli o listę artykułów to pobrać całą listę z bazy i odpowiednio podstawić np. id czy jakiś tekst do linków.

Może warto tu jeszcze dodatkowo wspomnieć o takiej kwestii jak routing - w większych i poważnych aplikacjach tak się właśnie robi, kieruje wszystkie wywołania na index.php i odpowiednio po stronie PHP (a nie samego serwera jak w przypadku przepisywania adresów) decyduje co aplikacja ma zrobić. Często też używa się do tego frameworków - gotowych rozwiązań.

I tak, mieszanie kodu HTML i PHP jest słabą praktyką - użyj tak jak podałem niżej Twiga.
komentarz 5 maja 2016 przez Dynamic Bywalec (2,910 p.)
Chodzi o jeden artykuł :)
0 głosów
odpowiedź 5 maja 2016 przez Mateusz11 Pasjonat (22,910 p.)
Masz szablon w HTML, i w kodzie dodajesz troszkę PHP odpowiadającego za pobieranie artykułu i wyświetlanie go na stronie.
1
komentarz 6 maja 2016 przez Comandeer Guru (599,730 p.)
PHP to język obiektowy i nie chce być inaczej. Każda dobra biblioteka w tym języku jest obiektowa.
komentarz 6 maja 2016 przez Dynamic Bywalec (2,910 p.)
No tak, ale można tez pisać proceduralnie (?)
1
komentarz 6 maja 2016 przez Comandeer Guru (599,730 p.)
Można… tak samo jak palić i chlać wódę ;) Jesteśmy w roku 2016 i proceduralny PHP de facto nie istnieje.
komentarz 6 maja 2016 przez Dynamic Bywalec (2,910 p.)
Myślę ze najpierw należałoby nauczyć sie programowac funkcjonalnie, a potem obiektowo (?)
komentarz 6 maja 2016 przez efiku Szeryf (75,160 p.)
Ja żałuję że nie zacząłem od obiektowego podejscia jak się uczyłem. Teraz byłoby łatwiej...
0 głosów
odpowiedź 5 maja 2016 przez Domin Początkujący (360 p.)

Plik przykładowo artykul.php, w nim zabawa z $_GET, czyli sprawdzenie czy $_GET nie jest puste, jeśli nie jest to wyszukuje wszystkie dane z artykułu o takim id.

Potem pozostaje porobić odnośniki, href="artykuł.php?id=$id".

Jeśli martwisz się brzydki adres url, to w .htaccess można to przerobić.

RewriteRule    ^artykul-([0-9]+)/?$    artykul.php?id=$1    [NC,L] 

I w tym wypadku odnośniki by wyglądały "artykuł-$id"

Podobne pytania

0 głosów
1 odpowiedź 832 wizyt
pytanie zadane 13 czerwca 2017 w PHP przez ddoh Początkujący (310 p.)
+2 głosów
0 odpowiedzi 286 wizyt
pytanie zadane 5 sierpnia 2018 w Nasze projekty przez TomaszGasior Obywatel (1,210 p.)
+1 głos
1 odpowiedź 212 wizyt
pytanie zadane 18 lutego 2020 w SQL, bazy danych przez Hardwell Dyskutant (8,960 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...