Your SlideShare is downloading. ×
0
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
PHP theorie
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP theorie

2,042

Published on

Enkele theoretische slides over PHP

Enkele theoretische slides over PHP

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

  • Be the first to like this

No Downloads
Views
Total Views
2,042
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Paul Verhoef
  2. PHP ? <ul><li>Een scripttaal om HTML pagina's te generen. </li></ul><ul><li>Alternatief voor ASP, JSP, PERL,COLDFUSION …. </li></ul><ul><li>Server side script taal </li></ul><ul><li>Alle server side talen worden &quot;geparsed&quot; door een webserver. </li></ul>
  3. Wat kan je doen met PHP <ul><li>toegang naar verschillende database systemen </li></ul><ul><li>generatie van images pdf flash </li></ul><ul><li>XML verwerken en genereren </li></ul><ul><li>communictie met andere systemen </li></ul><ul><li>LDAP POP IMAP SMTP </li></ul><ul><li>… </li></ul>
  4. Webserver <ul><li>is een programma dat via het client-server model en HTTP, bestanden onder de vorm van webpaginas presenteerd aan de webbezoeker </li></ul><ul><li>Populaire webserver </li></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>Microsoft </li></ul></ul><ul><ul><li>Sun </li></ul></ul><ul><ul><li>… </li></ul></ul>
  5. HTTP client server get … HTTP 1.1 200 ...
  6. Wat is nu PHP ? <ul><li>Recursief acroniem voor </li></ul><ul><ul><li>PHP hypertext preprocessor </li></ul></ul><ul><li>Cross-platform </li></ul><ul><li>Open Source </li></ul><ul><li>Server-side web scripting taal </li></ul>
  7. PHP werking client using web browser web server hardware web server software PHP script Email Database etc.     
  8. PHP document <ul><li>Basis is bijna altijd een HTML document </li></ul><ul><li>Speciale tags om PHP te scheiden van de HTML </li></ul><ul><li>Webserver parsed de php file naar HTML </li></ul>
  9. Hello World <ul><li><!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;> </li></ul><ul><li><html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> </li></ul><ul><li><head> </li></ul><ul><li><meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /> </li></ul><ul><li><title>Hello world</title> </li></ul><ul><li></head> </li></ul><ul><li><body> </li></ul><ul><li><?php </li></ul><ul><li>echo &quot;hello world&quot;; </li></ul><ul><li>?> </li></ul><ul><li></body> </li></ul><ul><li></html> </li></ul>
  10. Belangrijkste script <ul><li><?php </li></ul><ul><li>phpinfo(); </li></ul><ul><li>?> </li></ul><ul><li>geeft belangrijke info over onze PHP webserver weer </li></ul>
  11. Variables <ul><li>Starten steeds met een dollar teken $ </li></ul><ul><li>$naam=&quot;Paul&quot;; </li></ul><ul><li>$gemeente='Heverlee'; </li></ul><ul><li>$aantal=15; </li></ul><ul><li>$toggle=true; </li></ul><ul><li>$naam.=&quot; Verhoef&quot;; </li></ul>
  12. Referentie website <ul><li>http://php.net </li></ul>
  13. Output <ul><li>print of echo ? </li></ul><ul><li>$naam=&quot;Paul&quot;; </li></ul><ul><li>echo &quot;<p>hallo $naam</p>&quot;;  hallo Paul </li></ul>
  14. Getallen <ul><li>$getal=15; </li></ul><ul><li>$getal=$getal+5; </li></ul><ul><li>$getal+=3; </li></ul><ul><li>$getal++; </li></ul><ul><li>--$getal; </li></ul><ul><li>$getal=10%3; </li></ul>
  15. Opmaak van getallen <ul><li>$getal=3.33; </li></ul><ul><li>round() </li></ul><ul><li>abs() </li></ul><ul><li>printf(&quot;template&quot;,value) </li></ul><ul><ul><li>printf(&quot;%01.2f&quot;,$getal)  3.33 </li></ul></ul><ul><ul><li>printf(&quot;%05.2f&quot;,$getal)  03.33 </li></ul></ul>
  16. random getal <ul><li><?php srand ((double) microtime( )*1000000); $random_number = rand(0,10); echo &quot;$random_number&quot;; </li></ul><ul><li>?> </li></ul>
  17. Werken met strings <ul><li>$string1=&quot;hello&quot;; </li></ul><ul><li>$string2=&quot;World&quot;; </li></ul><ul><li>$samen=$string1 . &quot; &quot; . $string2; </li></ul><ul><li>substr($string,2,5); </li></ul><ul><li>strlen($string); </li></ul><ul><li>trim($string) </li></ul><ul><li>strtolower($string) </li></ul><ul><li>strtoupper($string) </li></ul>
  18. Informatie uit een form halen <ul><li>via een associatieve array </li></ul><ul><li>$_POST['formnaam']; </li></ul><ul><li>$_GET['formnaam']; </li></ul>
  19. Arrays <ul><li>$a=array(1,2,3,4,5,6); </li></ul><ul><li>$b=$a[2]; </li></ul><ul><li>$a[2]=&quot;Hello&quot;; </li></ul><ul><li>$a[]=&quot;world&quot;; </li></ul><ul><li>->index array </li></ul>
  20. associatieve array <ul><li>$a=array( </li></ul><ul><ul><li>&quot;jan&quot;=>5, </li></ul></ul><ul><ul><li>&quot;piet&quot;=>6, </li></ul></ul><ul><ul><li>&quot;corneel&quot;=>8 </li></ul></ul><ul><ul><li>); </li></ul></ul><ul><ul><li>$a['piet'] </li></ul></ul>
  21. print array <ul><li>$aantal=count($a); </li></ul><ul><li>for($i=0;$i<count($a);$i++){ </li></ul><ul><li>echo $a[i]; </li></ul><ul><li>} </li></ul><ul><li>foreach($a as $waarde){ </li></ul><ul><li> echo $waarde; </li></ul><ul><li>} </li></ul>
  22. Array functies <ul><li>$aantal=count($a); </li></ul><ul><li>$max=max($a); </li></ul><ul><li>$min=min($a) </li></ul><ul><li>$som=array_sum($a); </li></ul><ul><li>sort($a) </li></ul><ul><li>in_array($a) </li></ul><ul><li>each($a)  zal 2 waardes bevatten de key en de value </li></ul><ul><ul><li>$line = each ($a); echo &quot;$line[key] $line[value] <br />&quot;; </li></ul></ul>
  23. array_push <ul><li>array_push() ->nieuw element toevoegen aan het einde krijgt hoogste index </li></ul><ul><li>$a= array( 1 => &quot;tomatoes&quot;, 0 => &quot;oranges&quot;, 4 => &quot;bananas&quot;, 3 => &quot;potatoes&quot;, 2 => &quot;bread&quot; ); array_push($a, &quot;apples&quot;); --  krijgt index 5 </li></ul>
  24. Array_pop <ul><li><?php $a = array( 1 => &quot;tomatoes&quot;, 0 => &quot;oranges&quot;, 4 => &quot;bananas&quot;, 3 => &quot;potatoes&quot;, 2 => &quot;bread&quot; ); array_pop($pantry); ?> </li></ul><ul><li> de key 4 met value bananas zal verdwijnen </li></ul>
  25. explode <->implode <ul><li>explode maakt van een string een array </li></ul><ul><ul><li>$a=&quot; tomatoes,oranges,bananas,potatoes,bread,apples&quot;; </li></ul></ul><ul><ul><li>$a_array=explode(&quot;,&quot;,$a); </li></ul></ul><ul><li>implode maakt van array een string </li></ul><ul><ul><li>$b=implode(&quot; &quot;,$a_array); </li></ul></ul><ul><ul><li> &quot; tomatoes oranges bananas potatoes bread apples&quot; </li></ul></ul>
  26. Regular expressions <ul><li>Zoeken naar een patroon in een string </li></ul><ul><li>$patroon = &quot;^([0-9a-z]+)([-._0-9a-z]+)@([-._0-9a-z]+)(.[a-z]{2,6}$)&quot;; </li></ul><ul><li>if (ereg($patroon,$email)){ echo &quot;Succes, patroon gevonden!&quot;; } else { echo &quot;Failure, patroon niet gevonden!&quot;; } </li></ul>
  27. opbouw regular expressions <ul><li>^z searches for a part that begins with z. </li></ul><ul><li>z$ searches for a part that ends with z. </li></ul><ul><li>z+ searches for at least one z in a row. </li></ul><ul><li>z? searches for zero or one z. </li></ul><ul><li>(yz)searches for yz grouped together. </li></ul><ul><li>y|z searches for y or z. </li></ul><ul><li>z{3} searches for zzz. </li></ul><ul><li>z{1,} searches for z or zz or zzz and so on... </li></ul><ul><li>z{1,3} searches for z or zz or zzz only. </li></ul>
  28. Opbouw regular expressions <ul><li>. searches for ANY character or letter. </li></ul><ul><li>[a-z]searches for any lowercase letter. </li></ul><ul><li>[A-Z]searches for any uppercase letter. </li></ul><ul><li>[0-9]searches for any digit 0 to 9. </li></ul><ul><li>escapes the next character. </li></ul><ul><li> new line. </li></ul><ul><li> tab. </li></ul>
  29. regular expression classes <ul><li>[[:alpha:]] any letter </li></ul><ul><li>[[:digit:]] any digit </li></ul><ul><li>[[:alnum:]] any letter or digit </li></ul><ul><li>[[:space:]] any white space </li></ul><ul><li>[[:upper:]] any upper case letter </li></ul><ul><li>[[:lower:]] any lower case letter </li></ul><ul><li>[[:punct:]] any punctuation mark </li></ul>
  30. regular expression voor email <ul><li>Uit wat bestaat een geldig email adres bv (someone@someplace.com) : 1. een aantal letters of nummers 2. het @ symbol. @ 3. een aantal letters of nummers 4. Een punt . (vergeet het . niet te escapen) 5. twee tot zes eindcharachters </li></ul>
  31. email check <ul><li>$patroon = &quot;^([0-9a-z]+)([-._0-9a-z]+)@([-._0-9a-z]+)(.[a-z]{2,6}$) </li></ul><ul><li>^([0-9a-z]+) starten met minstens een nummer of letter. </li></ul><ul><li>([-._0-9a-z]+) vervolgens minstens 1 character moet een streepje, punt of underscore of cijfer of een letter zijn. </li></ul><ul><li>@ het verplichte @ symbool. </li></ul><ul><li>([-._0-9a-z]+) nog eens een setje van minstens 1 character moet een streepje, punt of underscore of cijfer of een letter zijn. . </li></ul><ul><li>(.[a-z]{2,6}$) The het moet eindigen met een punt en dan 2 tot 6 letters. </li></ul>
  32. if <ul><li><?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    } ?> </li></ul>
  33. if else <ul><li><?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    } </li></ul><ul><li>else </li></ul><ul><li>{ </li></ul><ul><li>doe deze blok van code; Als de conditie naar niet waar(flase)vertaald wordt; </li></ul><ul><li>} ?> </li></ul>
  34. if elseif else <ul><li><?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    } </li></ul><ul><li>elseif (andere conditie){ doe deze blok van code; Als de elseif conditie naar waar(true) vertaald wordt;    } else { </li></ul><ul><li>doe deze blok van code; Als de conditieS naar niet waar(flase)vertaald wordt; </li></ul><ul><li>} </li></ul>
  35. Switch Case <ul><li><?php switch (conditie) {    case &quot;value1&quot; :    block of coding;    if the condition equals value1;    break;    case &quot;value2&quot; :    block of coding;    if the condition equals value2;    break;    default :    block of coding;    if the condition does not equal value1 or value2;    break;    } ?> </li></ul>
  36. For <ul><li>for (initial expression; condition test; closing expression){    block of coding here;    } </li></ul>
  37. While <ul><li><?php </li></ul><ul><li>init conditie while (conditie) {    do this block of coding;    zolang de conditie waar is;    } ?> </li></ul>
  38. do while <ul><li><?php do {    do this block of coding;    zolang de conditie waar is;    } while (condition); ?> </li></ul>
  39. Functies <ul><li>function functie_naam ( ) {     enkele PHP commandos;     enkele PHP commandos; } </li></ul>
  40. Parameters <ul><li> function functie_naam ( $para1,$para2,$para3) {     enkele PHP commandos;     enkele PHP commandos; } </li></ul>
  41. Return <ul><li>als je een functie oproept en je wilt een waarde terugsturen naar de code. </li></ul><ul><li>function kwadraat($getal){ </li></ul><ul><li>return $getal*$getal; </li></ul><ul><li>} </li></ul>
  42. include <ul><li>include (&quot;filename.php&quot;); </li></ul><ul><li>navigatie, site opbouw </li></ul><ul><li>connectie naar databases </li></ul><ul><li>bibliotheken laden </li></ul>
  43. SQL <ul><li>Structured Query Language </li></ul><ul><ul><li>een taal om toegang te krijgen tot relationele databases </li></ul></ul><ul><ul><li>relationele databases hebben tabellen </li></ul></ul><ul><ul><li>tabellen hebben velden en records die de data bevatten </li></ul></ul>
  44. Tabellen Veld Record Id Voornaam Naam Postcode Gemeente 545 Paul Verhoef 3001 Heverlee 546 Jan Janssens 3000 Leuven
  45. SQL Select <ul><li>Om data op te halen uit de database </li></ul><ul><li>SELECT [velden] from [tabel] where [conditie] </li></ul><ul><li>select * from klanten </li></ul><ul><li>select voornaam,naam from klanten where id =454 </li></ul>
  46. SQL Insert <ul><li>Om data toe te voegen aan de database </li></ul><ul><li>INSERT INTO [tabel] [velden] VALUES [waarde] </li></ul><ul><li>insert into klanten (naam,voornaam) values ('Devos', 'Hilde') </li></ul><ul><li>insert into klanten values(45,'peter','peters',3000,'leuven') </li></ul>
  47. SQL Update <ul><li>Om aan te passen in de database </li></ul><ul><li>UPDATE [tabel] SET [velden=waardes] WHERE[conditie] </li></ul><ul><li>update klanten set naam=&quot;Lemmens&quot; where id=456 </li></ul>
  48. SQL Update <ul><li>Om data aan te passen in de database </li></ul><ul><li>UPDATE [tabel] SET [velden=waardes] WHERE[conditie] </li></ul><ul><li>update klanten set naam=&quot;Lemmens&quot; where id=456 </li></ul>
  49. SQL Delete <ul><li>Om data te verwijderen </li></ul><ul><li>delete [tabel] </li></ul><ul><li>delete klanten where id=456 </li></ul>
  50. MYSQL & PHP <ul><li>5 Stappen </li></ul><ul><li>Connecteer met de MYSQL RDBMS </li></ul><ul><li>Selecteer de database </li></ul><ul><li>voor een sql instructie uit </li></ul><ul><li>indien een select doe iets met data </li></ul><ul><li>sluit connectie </li></ul>
  51. In de praktijk <ul><li>  // Verbinding maken, een database selecteren  $link = mysql_connect(&quot;mysql_host&quot;, &quot;mysql_login&quot;, &quot;mysql_password&quot;)      or die(&quot;Kan geen verbinding maken&quot;);  print &quot;Verbinding succesvol gemaakt&quot;;  mysql_select_db(&quot;my_database&quot;)      or die(&quot;Kan geen database selecteren&quot;);  // Een SQL query uitvoeren  $query = &quot;SELECT * FROM my_table&quot;;  $result = mysql_query($query)      or die(&quot;Fout bij uitvoeren query&quot;);  // Printen resultaten in HTML  print &quot;<table> &quot;;  while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {      print &quot; <tr> &quot;;      foreach ($line as $col_value) {          print &quot; <td>$col_value</td> &quot;;      }      print &quot; </tr> &quot;;  }  print &quot;</table> &quot;;  // Resultaat-set vrij maken  mysql_free_result($result);  // Verbinding afsluiten  mysql_close($link); </li></ul>
  52. PhpMyadmin <ul><li>eenvoudige GUI tool voor beheer van je MYSQL DB account. </li></ul>
  53. Persistent Web <ul><li>text </li></ul><ul><li>cookies </li></ul><ul><li>sessies </li></ul>
  54. Text <ul><li>bestand openen fopen() </li></ul><ul><li>lezen of schrijven </li></ul><ul><li>sluiten fclose() </li></ul>
  55. fopen modes mode Description 'r' Openen voor alleen lezen; plaats de bestands pointer aan het begin van het bestand. 'r+' Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand. 'w' Openen voor alleen schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang. Als het bestand niet bestaat, probeer het aan te maken. 'w+' Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang. Als het bestand niet bestaat, probeer het aan te maken. 'a' Openen voor alleen schrijven; plaats de bestands pointer aan het einde van het bestand. Als het bestand niet bestaat, probeer het aan te maken 'a+' Openen voor lezen en schrijven; plaats het bestands pointer aan het einden van de file. Als het bestand niet bestaat, probeer het aan te maken
  56. lezen <ul><li>fgets() </li></ul><ul><ul><li>1 regel per keer </li></ul></ul><ul><li>file() </li></ul><ul><ul><li>Volledig bestand in 1 array </li></ul></ul>
  57. cookies <ul><li>setcookie() </li></ul><ul><ul><li>plaatst een cookie </li></ul></ul><ul><li>$_COOKIE['waarde'] </li></ul><ul><ul><li>leest de inhoud van een cookie </li></ul></ul>
  58. sessions <ul><li>variabelen die op de server worden bewaard zolang de bezoeker op de site aanwezig is </li></ul><ul><li>session_start(); </li></ul><ul><li>$_SESSION['waarde'] </li></ul>
  59. fileupload <ul><li>Alleen via POST formulier </li></ul><ul><li>$_FILES </li></ul><ul><li>Verplaatsen vanuit de tmp naar juiste locatie </li></ul>
  60. fileupload <ul><li><?php      if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {         copy($_FILES['userfile']['tmp_name'], &quot;/plaats/om/heen/te/verplaatsen&quot;);     } else {         echo &quot;Mogelijke aanval gespot: &quot; . $_FILES['userfile']['name'];     }     /* ...of... */     move_uploaded_file($_FILES['userfile']['tmp_name'], &quot;/plaats/om/heen/te/verplaatsen&quot;);     ?> </li></ul>

×