Cześć mam pytanie - robię swoją pierwszą stronę internetową no i zrobiłem sobie stronę główną, podstrony z działami w html - no ale do tych podstron muszę mieć jeszcze artykuły (będzie to strona w formie bloga - wiec będzie dużo podstron w poszczególnych działach) zrobiłem sobie poglądowo na jednej podstronie ramkę z zdjęciem i napisem żeby sprawdzić czy będzie pasowała wymiarami, wizualnie itp ale nie chcę aby dodawać za każdym razem w kodzie html nowej ramki a później ją ręcznie podpinać pod podstronę - więc chcę użyć PHP do tego, tylko tu moje pytanie jak to rozplanować - wymyśliłem sobie że na podstronę dam pierwszy artykuł w html (żeby strona trzymała się tych samych standardów co do art) a później kod PHP z tablicami czyli $podstrona=array('art1','art2','art3' itd) oddzielnie będzie plik "wzór" który będzie przechowywał standardową wersję artykułu do którego będę wklejał gotowy tekst i oznaczał go jako kolejny art a następnie wrzucał do sieci a do array dopisywał tylko kolejną pozycję w nawiasie - i teraz pytanie czy to ma ręce i nogi? czy może jeszcze inaczej to zrobić? co pominięte zostało a co powinno być? i nie jestem pewien czy mogę tak zrobić że będzie podstrona html w niej kod php - czy muszę jakoś specjalnie oznaczyć część html czy ona już będzie stała? czy kod php będzie wiedział że ma ustawić kolejny art tak samo jak poprzedni? czy art "wzór" musi zawierać elementy stałe html danej podstrony czy może wystarczy samej ramki gdzie ma być? sorry jeśli zbyt długie i źle sformułowane - ale tyle pytań bez odpowiedzi w mojej głowie :D #php #html #css #programowanie
@Janis_samarra: Nadal nie rozumiem, gdzie konkretnie chcesz trzymać treści tych artykułów. Normalnie trzyma się to w bazie. Na upartego możesz zrobić sobie do tego tablicę:
$art[1]='treść artykułu 1'; $art[2]='treść artykułu 2'; $art[3]='treść artykułu 3'; I w zależności od parametru w adresie wrzucać treść do diva
echo $art[$_GET[id]]; ? (mówiąc w uproszczeniu, bo to nie jest dobry jakościowo kod)
no właśnie w tablicy chce trzymać tak jak mi radziłeś pod innym moim postem - tylko czy muszę zrobić stronę wzór żeby zasysało za każdym razem taką oddzielną stronę? - bo gdzieś muszą być zmagazynowane informacje poszczególnych art, więc jak będzie gotowy art będę go dodawał - chyba że to jeszcze inaczej działa
a jak chcę żeby wyświetlało mi art tylko w podstronach? Nie chcę zmieniać już podstron działów bo coś czuję ze to wszystko za moment mi sie sp$^!oli na amen po za tym układ strony jest taki: strona główna - stały tekst nic nie dodajemy, podstrony działów - tam będą artykuły więc tam będzie php na bank, strona o mnie też stała. Mój plan opiera sie na kodzie php na poszczególnych podstronach działów
@Janis_samarra: Zmiana dokumentu na PHP nie zmieni układu strony. Jeżeli masz plik index.html i zmienisz jego nazwę na index.php, to na stronie nie zmieni się nic. Dokument php umożliwia Ci stosowanie skryptów, ale wcale tego nie wymusza. Tak naprawdę w pliku index.php może nie być ani jednej linii kodu PHP, a i tak zadziała.
Co do całej reszty, można to rozwiązać na różne sposoby, natomiast pytanie, czy w obrębie całej witryny
@Janis_samarra: Nie mogę już edytować, a chciałem doprecyzować jeden akapit:
Działa to w ten sposób, że instrukcja warunkowa if(isset($_GET['id'])) sprawdza, czy w adresie mamy parametr "id" Jeśli uruchomimy stronę z adresu: http://strona.pl/index.php?id=1 to taki parametr mamy i przyjmuje wartość 1. W takiej sytuacji, zadziała kod echo $art[$_GET['id']]; , czyli wyświetli się treść artykułu.
Ale jeśli uruchomimy stronę z adresu http://strona.pl/index.php To takiego parametru nie mamy. Co w takiej sytuacji? Ano wstawi
1) zamieniam wszystkie pliki na .php 2) w podrozdziałach robię kod php np
Podrozdział film będzie miał wpisane w części kontent diva który będzie wzorem i w tym divie oprócz układu standardowego kształtu kafelka (zdjęcia z opisem) który będzie odnośnikiem do poszczególnych artykułów będzie kod php wywołujący kolejne artykuły coś na kształt
$art=array('art1', 'art2',.....itd) echo $art
?
oczywiście dopracuje ten kod to tylko tak poglądowo!
@Janis_samarra: Nie do końca to miałem na myśli, ale Twoje rozwiązanie też zadziała. Co do pkt 3, tablica też nie przechowa zdjęć, tylko linki do plików które są zdjęciami - dokładnie tak samo jak baza danych. Paginacja jest prosta do zrobienia zarówno przy bazie danych, jak i tablicy, po prostu polega na wyświetlaniu części pozycji, zamiast wszystkich naraz. To co jest istotne to fakt, że przerobienie tablicy na bazę danych jest
@paramyksowiroza: a da sie przechowywać zdjęcia w SQL? albo filmy? Bo wydawało mi się ze tylko odnośniki w formie linków a wszystko wrzuca sie oddzielnie, czy źle myślałem ?
wydawało mi się ze tylko odnośniki w formie linków a wszystko wrzuca sie oddzielnie
@Janis_samarra: No właśnie mówię to samo, ale link do zdjęcia możesz przechowywać zarówno w tablicy jak i w bazie. Jeśli zrobiłbyś tablicę w ten sposób:
$art[1]='Tutaj tekst
![](/img/photo.jpg)Tutaj znowu tekst>
'; to taka konstrukcja zadziała.
Ale w bazie też możesz mieć kolumnę, która nazywałaby się np. "content" i taka kolumna zawierałaby dla tego artykułu następującą wartość:
ok troche mnie to przerasta chyba bo nie umiem nawet wywołać echo w php :( zmieniłem plik na php przez zapisz jako, dodalem .php na końcu zmieniłem w notepad++ składnię na php i nic sie nie dzieje - otwieram w xampie i nic tak samo jak przy html nie wyswietla sie echo a wpisałem tylko
ok nadal nic mi nie idzie - i nie jestem pewien czy dobrze to zrozumiałem, mianowicie:
kiedy mamy
$art=array(); $art[1]='treść artykułu 1';
- to tu zamieszczamy cały artykuł który ma np 40 linijek tekstu? i on musi być na tej samej stronie co dany artykuł? tak? i on będzie ukryty dla odbiorcy w php natomiast później wstawiamy
echo $art[$_GET['id']]; ?
w miejsce gdzie ma sie wyświetlić, jaki to ma sens w stosunku
Notice: Undefined offset: 0 in C:\xampp\htdocs\test\wzorart1.php on line 74
Notice: Undefined index: in C:\xampp\htdocs\test\wzorart1.php on line 74
php
$art=array(); $art[0]=' Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst
@Janis_samarra: Nie wiem, które to linia 74, ale nie wiem, dlaczego masz
$art [$_GET['0']] W nawiasie kwadratowym w $_GET powinieneś mieć parametr, który jest w adresie, np w przypadku http://strona.pl?index.php?id=5 powinieneś mieć `$art [$_GET['id']], bo a adresie masz **id=5**
A na przykład w przypadku [http://strona.pl?index.php?art=5](http://strona.pl?index.php?art=5) powinieneś mieć $art [$_GET['art']]` bo a adresie masz art=5
Dzisiaj mija 20 rocznica przystąpienia Polski do UE. Unia realnie zmieniła moje życie. Nie wyobrażam sobie Polski poza UE. Zaplusuj, jesli się za mną zgadzasz.
#php #html #css #programowanie
Na upartego możesz zrobić sobie do tego tablicę:
$art[1]='treść artykułu 1';
$art[2]='treść artykułu 2';
$art[3]='treść artykułu 3';
I w zależności od parametru w adresie wrzucać treść do diva
echo $art[$_GET[id]]; ?
(mówiąc w uproszczeniu, bo to nie jest dobry jakościowo kod)
Stronę (szablon) robisz normalnie w HTML-u, plik nazywasz index.php
Przykładowo, wyglądałoby to tak:
https://pastebin.com/VSytFEKy
Teraz w zależności od tego, czy wywołasz tę stronę spod adresu:
http://strona.pl/index.php?id=1
http://strona.pl/index.php?id=2
http://strona.pl/index.php?id=3
Wyświetli Ci się inna treść w divie.
Zmiana dokumentu na PHP nie zmieni układu strony. Jeżeli masz plik index.html i zmienisz jego nazwę na index.php, to na stronie nie zmieni się nic.
Dokument php umożliwia Ci stosowanie skryptów, ale wcale tego nie wymusza. Tak naprawdę w pliku index.php może nie być ani jednej linii kodu PHP, a i tak zadziała.
Co do całej reszty, można to rozwiązać na różne sposoby, natomiast pytanie, czy w obrębie całej witryny
Działa to w ten sposób, że instrukcja warunkowa
if(isset($_GET['id']))
sprawdza, czy w adresie mamy parametr "id"Jeśli uruchomimy stronę z adresu:
http://strona.pl/index.php?id=1
to taki parametr mamy i przyjmuje wartość 1.
W takiej sytuacji, zadziała kod
echo $art[$_GET['id']];
, czyli wyświetli się treść artykułu.Ale jeśli uruchomimy stronę z adresu
http://strona.pl/index.php
To takiego parametru nie mamy.
Co w takiej sytuacji? Ano wstawi
Nie wiem czy umiem dobrze tłumaczyć zagadnienie, ale jakby co, pytaj :)
Nie wiem czy dobrze ale:
1) zamieniam wszystkie pliki na .php
2) w podrozdziałach robię kod php np
Podrozdział film będzie miał wpisane w części kontent diva który będzie wzorem i w tym divie oprócz układu standardowego kształtu kafelka (zdjęcia z opisem) który będzie odnośnikiem do poszczególnych artykułów będzie kod php wywołujący kolejne artykuły coś na kształt
$art=array('art1', 'art2',.....itd)
echo $art
?
oczywiście dopracuje ten kod to tylko tak poglądowo!
3)
Co do pkt 3, tablica też nie przechowa zdjęć, tylko linki do plików które są zdjęciami - dokładnie tak samo jak baza danych.
Paginacja jest prosta do zrobienia zarówno przy bazie danych, jak i tablicy, po prostu polega na wyświetlaniu części pozycji, zamiast wszystkich naraz.
To co jest istotne to fakt, że przerobienie tablicy na bazę danych jest
@Janis_samarra: No właśnie mówię to samo, ale link do zdjęcia możesz przechowywać zarówno w tablicy jak i w bazie.
Jeśli zrobiłbyś tablicę w ten sposób:
$art[1]='Tutaj tekst
![](/img/photo.jpg)Tutaj znowu tekst>
';
to taka konstrukcja zadziała.
Ale w bazie też możesz mieć kolumnę, która nazywałaby się np. "content" i taka kolumna zawierałaby dla tego artykułu następującą wartość:
Tutaj
php
echo "pokarz mi ten tekst";
?
@paramyksowiroza: wiesz może czemu ?
kiedy mamy
$art=array();
$art[1]='treść artykułu 1';
- to tu zamieszczamy cały artykuł który ma np 40 linijek tekstu? i on musi być na tej samej stronie co dany artykuł? tak? i on będzie ukryty dla odbiorcy w php natomiast później wstawiamy
echo $art[$_GET['id']]; ?
w miejsce gdzie ma sie wyświetlić, jaki to ma sens w stosunku
Notice: Undefined offset: 0 in C:\xampp\htdocs\test\wzorart1.php on line 74
Notice: Undefined index: in C:\xampp\htdocs\test\wzorart1.php on line 74
php
$art=array();
$art[0]=' Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst artykułu wielokrotnie. Tutaj będzie tekst
$art [$_GET['0']]
W nawiasie kwadratowym w
$_GET
powinieneś mieć parametr, który jest w adresie, np w przypadkuhttp://strona.pl?index.php?id=5 powinieneś mieć
`
$art [$_GET['id']]
, bo a adresie masz **id=5**
A na przykład w przypadku
[http://strona.pl?index.php?art=5](http://strona.pl?index.php?art=5) powinieneś mieć
$art [$_GET['art']]
` bo a adresie masz art=5