robilo@wp.pl
nauczany przedmiot: Informatyka
miejsce pracy: Gimnazjum nr 2 w Piszu
SKRYPTY PHP NA STRONACH INTERNETOWYCH
Skrypty php ( ang. Personal Home Pages, Hypertext Preprocessor) umieszczane są w treści strony WWW. Podstawowymi zaletami tego języka są: prostota składni, obsługa dynamicznych stron, obsługa baz danych i plików. PHP nadaje się idealnie do projektowania tych elementów na stronie, które często są zmieniane ( licznik, księga gości, obsługa baz danych, cenniki, itp.). Skrypty PHP wykonywane są po stronie serwera, ale umieszczane bezpośrednio w kodzie strony. Serwer interpretuje kod PHP i przekazuje przeglądarce stronę WWW bez wstawek PHP. Kod PHP umieszczany jest na stronie za pomocą następujących znaczników:
• <?php i
?>
• <?
i
?>
• <script language=php>
i
</script>
• <%
i
%>
Przed wysłaniem strony do użytkownika skrypty są wykonywane przez serwer, na którym umieszczona jest nasza witryna (w przypadku Java Script interpretacją zajmuje się przeglądarka www). Problemem może okazać się konieczność umieszczenia strony zawierającej PHP na serwerze umożliwiającym obsługę skryptów. Dobrze byłoby wcześniej sprawdzić poprawność napisanych skryptów. W tym przypadku są dwa rozwiązania –
przesyłanie danych na serwer obsługujący PHP, lub instalacja Apache’a na swoim komputerze w roli serwera wirtualnego.
Opiszę instalację na własnym komputerze, jest to w miarę szybka metoda sprawdzenia poprawności napisanego kodu. Potrzebny jest nam serwer Apache i moduł PHP. Przy instalacji serwera pod Windows będziemy poproszeni o wpisanie nazwy serwera i jego adres, należy wpisać: 127.0.0.1 ( w przypadku sieci lokalnej wpisuje się właściwy nr komputera).
Moduł PHP ( php.exe wraz z bibliotekami) najlepiej jest skopiować do C:\php\ następnie nazwę php.ini-dist zmienić na php.ini. W tym pliku musimy wpisać ścieżkę do katalogu w którym jest moduł PHP.
Znajdujemy sekcję: Paths and Directrories i wpisujemy extension_dir = c:/php/
Zmodyfikowany plik php.ini kopiujemy do katalogu Windows.
Po instalacji Apache’a wchodzimy do folderu conf (C:\Programs Files\Apache Group\Apache\conf\ lub inna ścieżka - tam gdzie został zainstalowany Apache). W notatniku otwieramy plik httpd.conf przewijamy do końca i wpisujemy: ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php3 .php3
Action application/x-httpd-php3 "/php/php.exe"
W linii directory index wpisujemy: index.html
# directory index. Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
DirectoryIndex index.html index.php3 default.php main.php
</IfModule>
Uruchamiamy serwer, jeżeli nie są zgłaszane żadne błędy, okno w którym uruchomił się serwer można zminimalizować.
Pliki
*.html,
*.php3 wrzucamy do htdocs w katalogu Apache’a. Aby można było sprawdzić działanie skryptów na stronach umieszczonych w htdocs, otwieramy okno przeglądarki internetowej i wpisujemy http://127.0.0.1/nazwa_pliku/ lub http://localhost/nazwa_pliku Poniżej znajduje się dwa skrypty:
1. Wstawianie aktualnej daty na stronę
Tworzymy plik o nazwie data.php
<html>
<head><title>data</title>
</head>
<body bgcolor="silver">
<?php
print('<hr>');
$data=date("l d. m. Y");
echo "Witam na mojej stronie ! Dzisiaj jest: <b> $data</b>"; print('<br>');
print('<hr>');
?>
</body>
</html>
2. Księga gości – dwa pliki dodaj.php i pokaz.php muszą znajdować się w tym samym katalogu
Tworzymy plik o nazwie dodaj.php
<html>
<body bgcolor="silver">
<form action="dodaj.php" method="post"> imię<br>
<input name="imie"><br>
nazwisko<br>
<input name="nazwis"><br> komentarz<br>
<textarea name="koment" rows=5 cols=30 wrap=virtual></textarea><br>
<input type="submit" value="wyślij"> <input type="reset" value="czyść"><br>
</form>
<?php
$plik=fopen("dane.txt","a"); if (!$plik)
{
echo "Błąd zapisu do pliku";
exit;
}
fputs($plik,"$imie:$nazwis:$koment\r\n"); fclose($plik);
?>
<a href=pokaz.php>pokaż księgę</a>
</body>
</html>
Tworzymy plik o nazwie pokaz.php
<html>
<body>
<h1>Księga gości</h1>
<table>
<tr>
<td><b>imię</b></td>
<td><b>nazwisko</b></td>
<td><b>komentarz</b></td>
</tr>
<?php
$plik=file("dane.txt");
for($i=0;$i<count($plik);$i++)
{
$wpis=split(":",$plik[$i]);
echo "<tr>";
echo "<td>$wpis[0]</td>"; echo "<td>$wpis[1]</td>"; echo "<td>$wpis[2]</td>"; echo "</tr>";
}
?>
</table>
<a href="dodaj.php">powrót</a>
</body>
</html>