• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
PHP theorie
 

PHP theorie

on

  • 1,932 views

Enkele theoretische slides over PHP

Enkele theoretische slides over PHP

Statistics

Views

Total Views
1,932
Views on SlideShare
1,916
Embed Views
16

Actions

Likes
0
Downloads
0
Comments
0

6 Embeds 16

http://www.ictacademie.info 6
http://www.linkedin.com 3
https://www.coursesites.com 3
http://goo.gl 2
http://www.slideshare.net 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    PHP theorie PHP theorie Presentation Transcript

    • Paul Verhoef
    • PHP ?
      • Een scripttaal om HTML pagina's te generen.
      • Alternatief voor ASP, JSP, PERL,COLDFUSION ….
      • Server side script taal
      • Alle server side talen worden "geparsed" door een webserver.
    • Wat kan je doen met PHP
      • toegang naar verschillende database systemen
      • generatie van images pdf flash
      • XML verwerken en genereren
      • communictie met andere systemen
      • LDAP POP IMAP SMTP
    • Webserver
      • is een programma dat via het client-server model en HTTP, bestanden onder de vorm van webpaginas presenteerd aan de webbezoeker
      • Populaire webserver
        • Apache
        • Microsoft
        • Sun
    • HTTP client server get … HTTP 1.1 200 ...
    • Wat is nu PHP ?
      • Recursief acroniem voor
        • PHP hypertext preprocessor
      • Cross-platform
      • Open Source
      • Server-side web scripting taal
    • PHP werking client using web browser web server hardware web server software PHP script Email Database etc.     
    • PHP document
      • Basis is bijna altijd een HTML document
      • Speciale tags om PHP te scheiden van de HTML
      • Webserver parsed de php file naar HTML
    • Hello World
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
      • <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>
      • <head>
      • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; />
      • <title>Hello world</title>
      • </head>
      • <body>
      • <?php
      • echo &quot;hello world&quot;;
      • ?>
      • </body>
      • </html>
    • Belangrijkste script
      • <?php
      • phpinfo();
      • ?>
      • geeft belangrijke info over onze PHP webserver weer
    • Variables
      • Starten steeds met een dollar teken $
      • $naam=&quot;Paul&quot;;
      • $gemeente='Heverlee';
      • $aantal=15;
      • $toggle=true;
      • $naam.=&quot; Verhoef&quot;;
    • Referentie website
      • http://php.net
    • Output
      • print of echo ?
      • $naam=&quot;Paul&quot;;
      • echo &quot;<p>hallo $naam</p>&quot;;  hallo Paul
    • Getallen
      • $getal=15;
      • $getal=$getal+5;
      • $getal+=3;
      • $getal++;
      • --$getal;
      • $getal=10%3;
    • Opmaak van getallen
      • $getal=3.33;
      • round()
      • abs()
      • printf(&quot;template&quot;,value)
        • printf(&quot;%01.2f&quot;,$getal)  3.33
        • printf(&quot;%05.2f&quot;,$getal)  03.33
    • random getal
      • <?php srand ((double) microtime( )*1000000); $random_number = rand(0,10); echo &quot;$random_number&quot;;
      • ?>
    • Werken met strings
      • $string1=&quot;hello&quot;;
      • $string2=&quot;World&quot;;
      • $samen=$string1 . &quot; &quot; . $string2;
      • substr($string,2,5);
      • strlen($string);
      • trim($string)
      • strtolower($string)
      • strtoupper($string)
    • Informatie uit een form halen
      • via een associatieve array
      • $_POST['formnaam'];
      • $_GET['formnaam'];
    • Arrays
      • $a=array(1,2,3,4,5,6);
      • $b=$a[2];
      • $a[2]=&quot;Hello&quot;;
      • $a[]=&quot;world&quot;;
      • ->index array
    • associatieve array
      • $a=array(
        • &quot;jan&quot;=>5,
        • &quot;piet&quot;=>6,
        • &quot;corneel&quot;=>8
        • );
        • $a['piet']
    • print array
      • $aantal=count($a);
      • for($i=0;$i<count($a);$i++){
      • echo $a[i];
      • }
      • foreach($a as $waarde){
      • echo $waarde;
      • }
    • Array functies
      • $aantal=count($a);
      • $max=max($a);
      • $min=min($a)
      • $som=array_sum($a);
      • sort($a)
      • in_array($a)
      • each($a)  zal 2 waardes bevatten de key en de value
        • $line = each ($a); echo &quot;$line[key] $line[value] <br />&quot;;
    • array_push
      • array_push() ->nieuw element toevoegen aan het einde krijgt hoogste index
      • $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
    • Array_pop
      • <?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); ?>
      •  de key 4 met value bananas zal verdwijnen
    • explode <->implode
      • explode maakt van een string een array
        • $a=&quot; tomatoes,oranges,bananas,potatoes,bread,apples&quot;;
        • $a_array=explode(&quot;,&quot;,$a);
      • implode maakt van array een string
        • $b=implode(&quot; &quot;,$a_array);
        •  &quot; tomatoes oranges bananas potatoes bread apples&quot;
    • Regular expressions
      • Zoeken naar een patroon in een string
      • $patroon = &quot;^([0-9a-z]+)([-._0-9a-z]+)@([-._0-9a-z]+)(.[a-z]{2,6}$)&quot;;
      • if (ereg($patroon,$email)){ echo &quot;Succes, patroon gevonden!&quot;; } else { echo &quot;Failure, patroon niet gevonden!&quot;; }
    • opbouw regular expressions
      • ^z searches for a part that begins with z.
      • z$ searches for a part that ends with z.
      • z+ searches for at least one z in a row.
      • z? searches for zero or one z.
      • (yz)searches for yz grouped together.
      • y|z searches for y or z.
      • z{3} searches for zzz.
      • z{1,} searches for z or zz or zzz and so on...
      • z{1,3} searches for z or zz or zzz only.
    • Opbouw regular expressions
      • . searches for ANY character or letter.
      • [a-z]searches for any lowercase letter.
      • [A-Z]searches for any uppercase letter.
      • [0-9]searches for any digit 0 to 9.
      • escapes the next character.
      • new line.
      • tab.
    • regular expression classes
      • [[:alpha:]] any letter
      • [[:digit:]] any digit
      • [[:alnum:]] any letter or digit
      • [[:space:]] any white space
      • [[:upper:]] any upper case letter
      • [[:lower:]] any lower case letter
      • [[:punct:]] any punctuation mark
    • regular expression voor email
      • 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
    • email check
      • $patroon = &quot;^([0-9a-z]+)([-._0-9a-z]+)@([-._0-9a-z]+)(.[a-z]{2,6}$)
      • ^([0-9a-z]+) starten met minstens een nummer of letter.
      • ([-._0-9a-z]+) vervolgens minstens 1 character moet een streepje, punt of underscore of cijfer of een letter zijn.
      • @ het verplichte @ symbool.
      • ([-._0-9a-z]+) nog eens een setje van minstens 1 character moet een streepje, punt of underscore of cijfer of een letter zijn. .
      • (.[a-z]{2,6}$) The het moet eindigen met een punt en dan 2 tot 6 letters.
    • if
      • <?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    } ?>
    • if else
      • <?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    }
      • else
      • {
      • doe deze blok van code; Als de conditie naar niet waar(flase)vertaald wordt;
      • } ?>
    • if elseif else
      • <?php if (conditie) { doe deze blok van code; Als de conditie naar waar(true) vertaald wordt;    }
      • elseif (andere conditie){ doe deze blok van code; Als de elseif conditie naar waar(true) vertaald wordt;    } else {
      • doe deze blok van code; Als de conditieS naar niet waar(flase)vertaald wordt;
      • }
    • Switch Case
      • <?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;    } ?>
    • For
      • for (initial expression; condition test; closing expression){    block of coding here;    }
    • While
      • <?php
      • init conditie while (conditie) {    do this block of coding;    zolang de conditie waar is;    } ?>
    • do while
      • <?php do {    do this block of coding;    zolang de conditie waar is;    } while (condition); ?>
    • Functies
      • function functie_naam ( ) {     enkele PHP commandos;     enkele PHP commandos; }
    • Parameters
      • function functie_naam ( $para1,$para2,$para3) {     enkele PHP commandos;     enkele PHP commandos; }
    • Return
      • als je een functie oproept en je wilt een waarde terugsturen naar de code.
      • function kwadraat($getal){
      • return $getal*$getal;
      • }
    • include
      • include (&quot;filename.php&quot;);
      • navigatie, site opbouw
      • connectie naar databases
      • bibliotheken laden
    • SQL
      • Structured Query Language
        • een taal om toegang te krijgen tot relationele databases
        • relationele databases hebben tabellen
        • tabellen hebben velden en records die de data bevatten
    • Tabellen Veld Record Id Voornaam Naam Postcode Gemeente 545 Paul Verhoef 3001 Heverlee 546 Jan Janssens 3000 Leuven
    • SQL Select
      • Om data op te halen uit de database
      • SELECT [velden] from [tabel] where [conditie]
      • select * from klanten
      • select voornaam,naam from klanten where id =454
    • SQL Insert
      • Om data toe te voegen aan de database
      • INSERT INTO [tabel] [velden] VALUES [waarde]
      • insert into klanten (naam,voornaam) values ('Devos', 'Hilde')
      • insert into klanten values(45,'peter','peters',3000,'leuven')
    • SQL Update
      • Om aan te passen in de database
      • UPDATE [tabel] SET [velden=waardes] WHERE[conditie]
      • update klanten set naam=&quot;Lemmens&quot; where id=456
    • SQL Update
      • Om data aan te passen in de database
      • UPDATE [tabel] SET [velden=waardes] WHERE[conditie]
      • update klanten set naam=&quot;Lemmens&quot; where id=456
    • SQL Delete
      • Om data te verwijderen
      • delete [tabel]
      • delete klanten where id=456
    • MYSQL & PHP
      • 5 Stappen
      • Connecteer met de MYSQL RDBMS
      • Selecteer de database
      • voor een sql instructie uit
      • indien een select doe iets met data
      • sluit connectie
    • In de praktijk
      •   // 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);
    • PhpMyadmin
      • eenvoudige GUI tool voor beheer van je MYSQL DB account.
    • Persistent Web
      • text
      • cookies
      • sessies
    • Text
      • bestand openen fopen()
      • lezen of schrijven
      • sluiten fclose()
    • 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
    • lezen
      • fgets()
        • 1 regel per keer
      • file()
        • Volledig bestand in 1 array
    • cookies
      • setcookie()
        • plaatst een cookie
      • $_COOKIE['waarde']
        • leest de inhoud van een cookie
    • sessions
      • variabelen die op de server worden bewaard zolang de bezoeker op de site aanwezig is
      • session_start();
      • $_SESSION['waarde']
    • fileupload
      • Alleen via POST formulier
      • $_FILES
      • Verplaatsen vanuit de tmp naar juiste locatie
    • fileupload
      • <?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;);     ?>