Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
linki do podstron umieszczone w pliku php - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: linki do podstron umieszczone w pliku php (/thread-linki-do-podstron-umieszczone-w-pliku-php)



linki do podstron umieszczone w pliku php - Matrix - 04-01-2010

Witam, muszę zrobić do szkoły stronę i mam założenia:
- xhtml
- opara na divach
- linki do podstron umieszczone w pliku php
- validacja w3c

Zrobiłem wszystko i na koniec (nie wiecz czy to nie był błąd) zostawiłem sobie te linki w php. Nie wiem o co w tym chodzi, czytałem trochę ale nie wiem o co dokłądnie chodziło nauczycielowi w tym poleceniu. Teraz mam normalne linki typu: <a href="historia.html">Historia</a>


RE: linki do podstron umieszczone w pliku php - KowR - 05-01-2010

Zrób bazę danych: MySQL

w niej tabelę:
Kod:
pages
id INT klucz podstawowy, auto_increment
nazwa VARCHAR 255
tresc TXT

I potem zrób plik:
page.php

dzięki któremu w GET będziesz przesyłał id podstrony i pobierał z bazy danych.

Kod:
<?php
$id = is_numeric($_GET['id']); //tutaj od razu validacja danych przesyłanych GETem, validiuj że mogą wejść tylko liczby

// połączenie z bazą danych
mysql_connect('localhost', 'user', 'password') or die ('nie można połączyć z bazą danych);
// wybieramy tabelę: szkoła
$database = 'szkola';
mysql_select_db($database) or die ('nie można wybrać bazy);

// zapytanie ("SELECT id, nazwa, tresc FROM page WHERE id = '".$id."'"); - masz już gotowe zapytanie...
$row = mysql_fetch_array(mysql_query("SELECT id, nazwa, tresc FROM page WHERE id = '".$id."'"));
// wypisujesz dane

echo $row['nazwa']; // pokaże Ci się nazwa podstrony
echo $row['tresc']; // pokaże Ci się treść podstrony
?>

Pisane z palca. ;]

Link do podstrony będzie wyglądać o tak:
www.twojanazwa.pl/page.php?id=1 // w tedy pokaże Ci się strona o id = 1 czyli np. historia szkoły

Edit:
Aby linki wyglądały ładnie wystarczy, że użyjesz mod_rewrite... W tedy np. będą wyglądać tak:

www.twojanazwa.pl/strona/1/historia-szkoly

Edit 2:
By to zrobić stwórz plik o nazwie .htaccess

i w nim wstaw:
Kod:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^strona/([0-9]+)/([a-zA-Z-_0-9]+)?$ page.php?id=$1&name=$2 [L]

Z tym, że przed wyświetleniem wszystkich linków w menu (pętlą) musisz zrobić sobie funkcję, która zamieni polskie znaki w nazwie i zamiast spacji da - lub _ i skasuje inne nie fajne znaki.