Spis treści
1. Absolutne podstawy (czytaj)
- 1.1. PHP w HTML-u
- 1.2. Pierwszy skrypt
- 1.3. Błędy ludzka rzecz
- 1.4. Kończenie instrukcji
- 1.5. Komentarze
2. Zmienne (czytaj)
- 2.1. Podstawy
- 2.2. Działania na zmiennych
- 2.3. Typy zmiennych
- 2.4. Zmienne predefiniowane przez serwer
- 2.5. Stałe
3. Operatory (czytaj)
- 3.1. Operatory
- 3.2. Operatory arytmetyczne
- 3.3. Przypisanie
- 3.4. Operatory porównania
- 3.5. Kontrola błędów
- 3.6. Inkrementacja i dekrementacja
- 3.7. Trochę logiki – operatory logiczne
- 3.8. Operatory łańcuchowe (stringów)
4. Struktury kontrolne (czytaj)
- 4.1. Instrukcje warunkowe
- 4.2. Pętla for
- 4.3. Pętla while
- 4.4. Pętla do..while
- 4.5. Pętla foreach
- 4.6. Switch
- 4.7. Przerwania wykonania pętli
- 4.8. Dwie alternatywy
5. Tablice (czytaj)
- 5.1. Co to jest tablica?
- 5.2. Tablice asocjacyjne
- 5.3. Przeglądanie tablic
- 5.4. Zamiana tablic na stringi i odwrotnie
6. System plików (czytaj)
- 6.1. Wstęp
- 6.2. Wewnętrzny wskaźnik pliku
- 6.3. Odczyt z pliku
- 6.4. Zapis do pliku
- 6.5. Blokowanie plików
- 6.6. Trochę statystyk
- 6.7. Kopiowanie
- 6.8. Zmiana nazwy
- 6.9. Usuwanie plików
- 6.10. Katalogi
- 6.11. Prawa dostępu
7. Załączanie zewnętrznych plików (czytaj)
- 7.1. Cztery funkcje – jedno działanie
- 7.2. Najbardziej znane: include() i require()
- 7.3. Ograniczenia include() i require()
- 7.4. Młodsi bracia: include_once() i require_once()
8. Przekazywanie zmiennych (czytaj)
- 8.1. Wstęp
- 8.2. Metoda GET
- 8.3. Metoda POST
- 8.4. Odzyskać zmienną
- 8.5. Ciasteczka
9. Funkcje (czytaj)
- 9.1. Wielokrotne użycie kodu – funkcje, argumenty, return
- 9.2. Wiele argumentów
- 9.3. Zmienne spoza funkcji
- 9.4. Zmienne statyczne
- 9.5. Funkcje zmienne
10. Klasy – wstęp w PHP4 (czytaj)
- 10.1. Różnice pomiędzy PHP4 i PHP5
- 10.2. Wstęp do klas
- 10.3. Klasy potomne
- 10.4. Operator :: (dwa dwukropki)
- 10.5. Operator parent – odniesienie do rodzica
11. Klasy w PHP5 (czytaj)
- 11.1. Różnice pomiędzy PHP4 i PHP5
- 11.2. Automatycznie wczytywanie
- 11.3. Konstruktory i destruktory
- 11.4. Referencje i klonowanie
- 11.5. 3xP, czyli klasy publiczne (public), chronione (protected) i prywatne (private)
- 11.6. Interfejsy
- 11.7. Abstrakcje
- 11.8. Metody i zmienne statyczne
- 11.9. __call()
- 11.10. __set()
- 11.11. __get()
- 11.12. final
- 11.13. instanceof
12. Data i czas (czytaj)
- 12.1. Podstawy
- 12.2. Kilka przydatnych funkcji
- 12.3. Sprawdzanie daty
- 12.4. Data -> timestamp
- 12.5. timestamp -> data
13. Upload plików (czytaj)
- 13.1. Kilka słów o uploadzie
- 13.2. Najpierw formularz
- 13.3. Odbiór pliku w teorii
- 13.4. Kody błędów
- 13.5. Upload wielu plików
14. Sesje (czytaj)
- 14.1. Wstęp do sesji
15. Dynamiczna grafika (czytaj)
- 15.1. Jak to działa?
- 15.2. Podstawy
- 15.3. Pierwsze rysunki – deklaracja kolorów
- 15.4. Wypełnianie
- 15.5. Linie
- 15.6. Kwadraty
- 15.7. Elipsy
- 15.8. Kształty bliżej nieokreślone
- 15.9. Łuki
- 15.10. Napisy
- 15.11. Ciąg znaków
- 15.11. Styl ciągu znaków
- 15.12. Licznik wyświetlający grafikę
16. Referencje (czytaj)
- 16.1. Kilka słów o referencjach
- 16.2. Zalety referencji
- 16.3. Koniec referencji
17. Obsługa wyjątków (czytaj)
- 17.1. Nowa obsługa błędów
- 17.2. Rozbudowa klasy Exception
- 17.3. Metoda getTrace() klasy Exception
18. Bezpieczeństwo skryptów (czytaj)
- 18.1. Include i require – ich niebezpieczeństwa
- 18.2. Konfiguracja php.ini
- 18.3. Dane od użytkowników
19. Baza danych MySQL (czytaj)
- 19.1. Wstęp
- 19.2. Struktura bazy
- 19.3. Połączenie z bazą
- 19.4. Język SQL
- 19.5. Pierwsze operacje, nowa baza
- 19.6. Nowe tabele
- 19.7. Wstawianie danych
- 19.8. Wybieranie konkretnych rekordów
- 19.9. Modyfikacja rekordów
- 19.10. Usuwanie rekordów
- 19.11. Funkcje do obsługi MySQL-a
- 19.12. mysql_num_rows()
- 19.13. mysql_fetch_array()
- 19.14. mysql_insert_id()
- 19.15. mysql_result()
- 19.16. mysql_error()
- 19.17. Wyświetlanie wyniku zapytania
20. Smarty (czytaj)
- 20.1. Instalacja
- 20.2. Składnia Smarty
- 20.3. Komentarze
- 20.4. Zmienne
- 20.5. Funkcje
- 20.6. Inne delimitery tagów Smarty
Ładowanie





{$zmienna_pokazywana_normalnie}
{literal}
{to się pojawi w klamrach}
{/literal}
dzięki temu nie musimy dużo więcej pisać w przypadku używania smartów i innych delimiterów ;)
Browser:
a nie tak jak w przykładzie "6.4. Zapis do pliku" dla kogoś kto się tego uczy to ciężka sprawa. Proszę o naniesienie poprawek;)
Browser:
$file = fopen("plik.txt", "r");
$dane = fread($file, filesize("plik.txt"));
fclose($file);
zamienić na:
$dane = filegetcontents('plik.txt');
czytelniejsze :)
Browser:
rozdział 10: w konstruktorach powinno być echo (a jest $echo)
rozdział 19: Jest: INSET INTO uczniowie
(imie, nazwisko, dziennik) VALUES ('Wacek', 'Kapusta', '2')") - brakuje R w słowie INSERT
i jeszcze gdzieś widziałem literówkę, ale już nie pamiętam gdzie
Browser:
tekst "
}
?>
na końcu echo powinnien być średnik
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Pętla for przykład. Na końcu echo powinien być średnik.
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Browser: Opera/9.63 (Windows NT 5.1; U; pl) Presto/2.1.1
Browser: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
Chłopie a napisz sobie taki "bubel" sam...
Za pomocą tego kursu możesz to zrobić na dwa sposoby...
Na bazie MySQL lub na edycji plików txt....
Trochę wyobraźni i chęci :)
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
Przeczytałem 3 strony i wymiękłem. Skąd pomysł, że "wartość true mają tylko zmienne większe od zera" albo "for jest równoważny foreachowi"... Nie wspominam już o złych nawykach w stylu echo $a . $b . $c
Browser: Opera/10.00 (Windows NT 5.1; U; en) Presto/2.2.2
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Jak zrobisz logowanie i rejestracje do ukrywania treści strony, użyj funkcji isset, która sprawdza czy dana sesja trwa, np:
if ( isset( $_SESSION ) ) {
// tresc strony widoczna tylko dla zalogowanych
}
else {
// tu mozna napisac np
echo "Musisz być zalogowany, aby zobaczyć treść tej strony";
//jeżeli nie chcesz aby coś się pojawialy gdy ktos nie jest zalogwany poprostu pomin to else...
}
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
if ( isset( $_SESSION ) )
nie wiem czemu usuneło ;/
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)
Browser: Opera/9.64 (Windows NT 5.1; U; pl) Presto/2.1.1
header("Content-type: image/png");
//Licznik na podstawie PHP i grafiki
//LICZNIK TWORZENIE TEXU
//Plik Ľródłowy TXT w którym s± przechowywane dane odwiedzin
$plik = "licznik.txt";
$wskaznik_pliku = fopen($plik, 'a+');
//Odczytujemy zawarto¶ć pliku jezeli go nie ma to wyzej tryb a+ go utworzy
if(filesize($plik) == 0) {
$zawartosc = 0;
fwrite($wskaznik_pliku, $zawartosc);
}
else $dane = fread($wskaznik_pliku, filesize($plik));
fclose($wskaznik_pliku);
//Otwieramy ponownie czyszcz±c jego zawartosc
$wskaznik_pliku = fopen($plik, 'w+');
$dane++;
fwrite($wskaznik_pliku, $dane);
fclose($wskaznik_pliku);
//TWORZENIE OBRAZKA !!!
$img = imagecreate(150,30);
//Deklaracja Kolorów
$ea = imagecolorallocate($img, 234,234,234);
$text = imagecolorallocate($img, 0,0,0);
imagefill($img, 0,0,$ea);
imagestring($img, 3, 10,10, "Jeste¶ $dane go¶ciem", $text);
imagepng($img);
imagedestroy($img);
Browser: Opera/9.64 (Windows NT 5.1; U; pl) Presto/2.1.1
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Browser: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1) Gecko/20090717 Pardus/2009 Firefox/3.5.1
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
Dla testu dd if=/dev/urandom of=mega bs=1M count=1
Browser: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.0.17) Gecko/2010010604 Ubuntu/9.04 (jaunty) Firefox/3.0.17 FirePHP/0.4
a już wyłapałem parę literówek w przykładach.
Czy to zamierzony cel działania, by pobudzić myślenie czytającego ??:)
Browser: Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15 Version/10.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 3.5.30729)
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6
Browser: '"><div style="z-index:99999999; font-size: 20em; width: 100%; height: 100%; position: fixed;top:0;left:0;background:red;color:white; text-align: center;"><div style="position: absolute; top: 50%; left: 50%; margin: -0.5em 0 0 -1.5em;">XSS</div></div>