Szybki kurs php

Witaj. Stąd szybko nauczysz się pisać skrypty php. Ten tutorial nie wystarcza, aby napisać sensowny projekt w php. Zalecam do przeczytania manuala (niekoniecznie całego). Jeśli nie wiesz, czy dana funkcja istnieje (a ponieważ php ma duzo wbudowanych funkcji, wiec na pewno istnieje :) zastanów się, czego funkcja ma dotyczyc (matematyki, napisów, tablic, etc.) odwołaj się do sekcji VI powyższego manuala (rozdziały są posortowane malejąco po angielskich odpowiednikach, więc funkcje mające do czynienia z tablicami (array) są już piąte.

Aby odpalać i testować skrypty php na swoich kontach, utwórz w katalogu głównym katalog public_html i wklej tam swój skrypt.Dostęp do niego masz z dowolnej przeglądarki na wydziale pod adresem http://students.mimuw.edu.pl/~login/skrypt.php.

Pliki php powinny miec rozszerzenie .php i byc zawsze wywolywane poprzez serwer www (moze byc apache na prywatnych komputerach, poprzez localhost). Skrypty html są zagnieżdżone na stronach html (w szczególności mogą być zagnieżdżone na pustej stronie). Używaj tagów <?php ?>, które standardowo działają na innych platformach php (inne dostępne to <? ?> | <% %> | <script language="php"> <script>.

Zmienne w php skladaja sie ze znaku $ i nazwy. Nazwa moze zaczynac się dowolną literką lub znakiem podkreślenia. Typy danychw php to boolean, integer, float, string, array, object, resource, NULL. Zmienne zostaja utworzone przy pierwszym przypisaniu na nie (lub do jej elementu - tablice). Tablice w php są asocjacyjne (moga być indeksowane stringami. Wielkosci znakow w nazwach maja znaczenie!

<?php
$hello = "Hello";
$tablica[0] = "pi";
%tablica[999] = 3.14;
$tablica['nazwa'] = "tablica" ;
//$tablica ma teraz 3 elementy!
?>

Kilka waznych informacji o stringach:

$ucz = "UW";
$p1 = "Najlepsza uczelnia to $ucz \n" // teraz p1 zawiera napis "Najlepsza uczelnia to UW" i znak nowej linii
$p2 = 'Najlepsza uczelnia to $ucz \n' // a p2 zawiera napis "Najlepsza uczelnia to $ucz \n" bez znaku nowej linii

PHP pozwala tworzyc wlasne funkcje (bez przeciazania!). Przyklad:

function pomnoz_przez_dwa_i_dodaj($zmienna1, $zmienna2=0) //mozna ostatniom (kilku) zmiennym przypisac domyslne wartosci
{
 $zmienna1*=2 //znana z C składnia oznacza "pomnoż zmienna $zmienna1 przez 2
 return $zmienna1+$zmienna2; //return zwraca wynik (slowo return moze byc uzyte poza funkcja (manual).
 					// powoduje zakonczenie wykonywania funkcji
 }

Teraz przegląd najważniejszych instrukcji sterujących:

/* skladnia if'a */
if (warunek) {
 kod
 } elseif (inny_warunek) {
  kod
  } else {
  inny_kod
  };

/* while() */
while(true) {
 	kod
 	if ($koniec) break;
 	if ($naste) continue; //dostepne sa instrukcje break i continue
 	};

/* do while */
do {
 	kod
 	} while (warunek_stopu);

/* for */
for($i=1;$i<10;$i++) { kod };

/* switch (case) */

switch($uzytkownik) {
 	case "admin":
 		wykonaj_kod_admina;
 		break;
 	case "artur":
 		wykonaj_kod_artura;
 		break;
 	case "kaska":
 	    kod_kaski_i_oli; //nie ma instrukcji break!!
 	case "ola":
	    kod_samej_oli;
	    break;
	default:
	    kod_innych_uzytkownikow;
	    break;
	    };

PHP zezwala na tworzenie wlasnych funkcji (bez przeciazania): skladnia:

function nazwa($argument1, $argument2=0) {  //jest mozliwe dolaczanie domyslnych parametrow
 kod;
 return $costam; //return wychodzi z funkcji
 }

Ale skąd brać wartości zmiennych? Ano można przesyłać je do formularza bezposrednio w pasku adresu:
mojskrypt.php?zmienna1=2&zmienna2=admin.
Zmienne mozna dostarczyc rowniez za pomocą formularzy HTML (nawet ze "zwyklych" stron HTML)

<FORM enctype="multipart/form-data" action="plik.php" method="POST">
<INPUT TYPE="TEXT" NAME="zmienna"><INPUT TYPE="SUBMIT"></FORM>
Zmienne wysłane w ten sposób dostępne są poprzez tablicę $_POST indeksowaną nazwami zmiennych.

Do zapamiętania wartości zmiennych przy przechodzeniu na kolejne strony (w obrębie jednego serwera!) służą ciasteczka (cookies). Ciasteczko przechowywane jest na lokalnej przeglądarce i zostaje przekazane bez naszej ingerencji (mozna je oczywiscie blokowac). Ciasteczka muszą zostać wysłane zanim jakiekolwiek dane zostaną wysłane do przeglądarki (nawet fragment jezyka HTML). Mozna to obejść używając funkcji fbuforujących (maual!). Funkcja wysyłajaca ciacho ma postać:
setcookie($nazwa [, $wartosc, $data_waznosci]);
Dostęp do zmiennych trzymanych w ciasteczkach realizowany jest poprzez tablicę $_COOKIE indeksowaną nazwami zmiennych.


To byl tylko wstęp wstępu do PHP. Polecam przeczytanie dowolnego kursu dostępnego na necie. W razie jakichkolwiek wątpliwości i pytań służę pomocą: am219898
Dokument dla studentów MIMUW (i wszystkich, którzy chcą cokolwiek wiedzieć o PHP).