Archiwum kategorii: PHP

Dlaczego zmienne globalne są wyłączone w PHP5?

Zmienne globalne to nic inne jak odwołanie do nazwy zmiennej bez sprawdzania źrodła jej pochodzenia. Przykład: http://strona.pl/?id=12 Zmienna ‚id’ dostepna jest w skrypcie PHP4 przez odwołanie $id natomiast w PHP5 jako $_GET[‚id’]. Nie wiesz dlaczego to takie ważne? Popatrz na przykład poniżej gdzie funkcja autoryzacja() sprawdza czy użytkownik jest zalogowany Jeśli odwołamy sie do skryptu poprzez http://strona.pl/?zalogowany=true skrypt wyświetli nam tajną stronę! Jak temu zapobiec? bardzo prosto: To tylko prosty przykład niebezpieczeństwa, sam proces logowania wymaga od nas sprawdzenia jeszcze kilku innych danych ale o tym w innej poradzie. (...)

Dlaczego unikać funkcji mysql_num_rows()?

Funkcja mysql_num_rows() przesyła do bazy danych zapytanie i pobiera wszystkie zwracane wiersze. Wynik który nas interesuje to ilość wierszy a nie ich zawartość zatem o wiele szybszym zapytaniem jest przesłanie zapytania COUNT(*) w samym zapytaniu SELECT, które zwróci nam jedno pole i jeden rekord a zliczanie odbdzie sie po stronie serwera mysql. Jeśli nie jest wymagane wyświetlanie wszystkich rekordów z bazy na bieżaco można każdy wyciągniety wiersz przypisać do nowej zmiennej np $bufor_mysql i zliczać ilość wykonanych pętli inkrementując zmienną $i ($i++ lub ++$i) Kosztem utworzenia 2 zmiennych w skrypcie zaoszczędzamy dodatkowe odwołanie do bazy mysql – (...)

Dlaczego nie widzę enterów na stronie?

Aby zobaczyć załamania tekstu wprowadzone oryginalnie do formularza należy użyć funkcji: $tekst = nl2br($tekst); Zwraca ona zmienna z zamienionymi znakami \n na znacznik (...)

Jak pobrać ilość rekordów zapytaniem SQL?

Najprostszy i najszybszy sposób. W połączeniu z np. PHP jest o wiele wydajeniej wykonać kolejne zapytanie COUNT aniżeli posługiwać się funkcją mysql_num_rows() (...)

Problem z kodowaniem utf-8 i iso-8859-2 w AJAX i PHP

[ad#post]Na początek należy zaznaczyć, że AJAX domyślnie przesyła dane używając kodowania UTF-8 więc idealną sytuacja byłoby gdybyś używał kodowania UTF-8 wszędzie na swojej stronie, począwszy od kodowania strony META, kodowaniu plików źródłowych html/php/javascript a skończywszy na danych przesyłanych do i z bazy danych czy innych plików . Załóżmy jednak, że Twoja strona używa kodowania iso-8859-2, które definiujesz na stronie wywołującej skrypt AJAX w nastepujący sposób: Następnie wywołujemy AJAX W pliku plik.php należy wstawić nagłówek identyczny jak w twoim pliku wywołującym AJAX, zatem: Jak zauważyłeś polskie ogonki dalej nie działają, (...)