Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]System podstron
eXTrim
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 1.02.2007

Ostrzeżenie: (0%)
-----


Witam, nurtuje mnie pytanie w jaki sposób tworzyć małe serwisy internetowe z "5 podstronami",
1. Czy stosować cały kod html z index.html i tylko zmieniać treść podstron czy lepiej używać do tego include.
2. Jak ma się includowanie z późniejszym pozycjonowaniem strony.
3. Czy stosowanie całego kodu nie spowolni za bardzo wczytywanie tych podstron ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Asmox
post
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 12
Dołączył: 16.01.2009

Ostrzeżenie: (0%)
-----


Kwestię bezpieczeństwa zmieściłem w 2 linijkach kodu - zabezpieczenie warunku od $_GET oraz limit 1 rekordu z bazy danych. Swoją drogą nie jest to dużo, a zawsze jakoś zwiększa bezpieczeństwo.

Napisałem ten skrypt w oparciu o MVC (bardzo, bardzo pobieżnie, ale jednak). Jeśli nie wiesz jeszcze co to jest, to informuję, że jest to taki styl programowania, w którym oddzielasz od siebie szablon strony określający jej wgląd (mVc - view, czyli widok), elementy pobierające dane (Mvc - model, typ zbierania danych) oraz warstwę łączącą, która pozwala na współpracę między tymi elementami (mvC - controller). Więcej możesz poczytać w googlach, wiki oraz na forum, gdzie te kwestie były wyjaśniane dokładniej setki razy.

I teraz tak: chcesz mieć dane z plików zamiast z bazy? Spoko. Zamieniasz element pobierający dane na taki, który wykorzystuje pliki, oraz modyfikujesz nieco kontroler index.php:
1. Index.php
  1. require_once('teksty.php') // załącza skrypty DO POBIERANIA ZAWARTOŚCI PLIKÓW - zmiana I
  2. if(isset($_GET['pname'])) {// pname = page name (nazwa pliku) - zmiana II ALE TO TYLKO KWESTIA WIZUALNA
  3. $pname = mysql_escape_string($_GET['pname']) // WARTOŚĆ TEKSTOWA, SQL inject zawsze można zrobić, a z tekstem łatwiej na to wpaść
  4. }
  5. else $pname = 'glowna' // Czyli na stronę główną
  6. $pageArr = getPageArr($pname) // Funkcja pobiera dane strony
  7. require_once('szablon.phtml');

I to by było na tyle co do modyfikacji index.php. Szablonu nie trzeba zmieniać, można tak napisać skrypt, żeby wciskał do tablicy te same dane.
2. teskty.php
  1. function getPageArr($pname) {
  2. $plik = file('jakas/sciezka/' . $name . '.php');
  3. $pageArray['title'] = $plik[0];
  4. foreach($plik as $klucz => $linia) {
  5. if($klucz == 0) continue // Pierwsza linia jest określana jako tytuł strony, więc nie zaliczamy jej do treści
  6. $pageArray['content'] .= nl2br($linia); // Zamieniamy znaki końca linii na znaczniki <br />,które powodują przejście do nowej lini w HTMLu
  7. }
  8. return $pageArray
  9. }

No i to wszystko. W sumie nie trzeba nawet robić tego nl2br. file pobiera plik z wpisaniem każdej linii w osobnym polu tabeli - pierwsza linia w kluczu [0], druga w [1] itd...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:35