ZamCamp #6 - Najczęstsze błędy w PHP

1,232 views

Published on

Prezentacja Przemysława Pawliczuka

Published in: Self Improvement, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,232
On SlideShare
0
From Embeds
0
Number of Embeds
47
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ZamCamp #6 - Najczęstsze błędy w PHP

  1. 1. Czyli od Hello World do ZCE... Przemysław „eRIZ” Pawliczuk Zend Certified Engineer
  2. 2. Błędy składni echo 'hello world'
  3. 3. Brak wcięć w kodzie if($cond){ while(1){ for($a=0;$a<mt_rand(0,100);$a++){ echo 'hello world'; } } }
  4. 4. Otwieranie skryptów PHP „dwuklikiem” file:///C:documents And settingsasd pulpitskrypt.php
  5. 5. Pseudo register_globals $x = $_POST['x']; $y = $_GET['y']; extract($_POST);
  6. 6. Zmienne rozumiane wyłącznie przez autora echo $asd*$qwerty-$jakas+$flkj;
  7. 7. Brak zrozumienia zasięgu zmiennych $str = 'Ala ma kota'; function pakazy(){ echo $str; } pakazy(); //zonk
  8. 8. Próby wykonywania PHP po stronie przeglądarki <?PHP function funkcja(){ echo 'Hello world'; } ?> <a href=&quot;funkcja()&quot;>joł</a>
  9. 9. Porównywanie float echo M_PI; //3.1415926535898 var_dump(M_PI==3.1415926535898); //false
  10. 10. Wynajdywanie koła na nowo function pad_zeros($number, $zeros) { if (strpos($number, '.') !== false) { preg_match('#.(d+)$#', $number, $match); $number .= str_repeat('0', $zeros-strlen($match[1])); return $number; } else { return $number.'.'.str_repeat('0', $zeros); } } // ... // english notation without thousands seperator $english_format_number = number_format($number, 2, '.', '');
  11. 11. Błąd #1 Warning: Cannot modify header information - headers already sent by
  12. 12. Błąd #2 Type: [2048] date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead, line 154 of file /usr/local/apache/www/htdocs/artel-elektro.pl/classes/vMain.php RTFM!
  13. 13. Błędy w rozumowaniu składni zmiennych echo HelloWorld; echo 'HelloWorld'; echo &quot;$zmienna&quot;; echo ''.$s_User.''
  14. 14. Brak filtrowania danych require 'strony/'.$_GET['strona'];
  15. 15. Mylenie generowanego kodu ze źródłem skryptu require 'http://example.com/script.php';
  16. 16. Każdorazowe zliczanie elementów w pętli $str = 'Kot ma Alę'; for($a=0;$a<strlen($str);$a++){ echo chr(ord($str{$a})+2); } $c = strlen($str); for($a=0;$a<$c;$a++){ echo chr(ord($str{$a})+2); }
  17. 17. Problem z prologiem XML echo '<?xml ... ?>';
  18. 18. MySQL – syzyfowe wyciąganie danych $z = mysql_query('select * from asd'); echo $z['kolumna'];
  19. 19. MySQL – nierozsądne pętle $z = mysql_query('select * from asd'); $ile = mysql_num_rows($z); for($a=0;$a<$ile;$a++){ //... }
  20. 20. MySQL – inne mysql_free_result(); //ad stałych połączeń mysql_error();
  21. 21. MySQL – inne - wciskanie wszystkiego w kolumny - utf8_polish_ci
  22. 22. SQL Injection mysql_query('SELECT * FROM users WHERE login=&quot;'.$_POST['login'].'&quot; ... ');
  23. 23. Tabelki ;) <ul><li>&quot;Heh jakos wole tabelki nie interesuje mnie jak to robia inne mam swoje innowacje ale dziek
  24. 24. &quot;wszystko ładnie wygląda więc po co to zmianiac :D pozatym nie mam czasu na nauke, mam pelno zlecen i kase trzeba zarobic&quot;
  25. 25. &quot;WIerz mi to nie byle jakie strony zreszta jak ktos pisze na tabelkach nie znaczy ze jest zle jak lubisz pisac na div-ach bo wszyscy tak pisza to good ja pisze jak mi wygodnie wale jak inni pisza byle mi sie dobrze kodzilo&quot; </li></ul>
  26. 26. Dziękuję. http://pcinside.pl

×