Wpis z mikrobloga

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
  • 37
  • Odpowiedz
@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)
  • Odpowiedz
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
  • Odpowiedz
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
  • Odpowiedz
@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
  • Odpowiedz
@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
  • Odpowiedz
@paramyksowiroza
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)
  • Odpowiedz
@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
  • Odpowiedz
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ść:

Tutaj
  • Odpowiedz
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

php
echo "pokarz mi ten tekst";
?

@paramyksowiroza: wiesz może czemu ?
  • Odpowiedz
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
  • Odpowiedz
pokazuje mi się informacja

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
  • Odpowiedz
@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
  • Odpowiedz