SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Webtoegang tot
gegevensbanken


Katrien Verbert
katrien.verbert@cs.kuleuven.be
Hypertext Markup Language (HTML)

• gebruikt voor webpagina‟s
• statische pagina‟s
• tekst met tags tussen scherpe haakjes die het formaat
  specificeren om de tekst te tonen in bepaalde vorm

<html>
 <head>
  <title>Welkom</title>
 </head>
 <body>
  <h1>Ga zitten</h1>
  <p>Hartelijk <b>welkom</b> in de cursus.</p>
 </body>
</html>
dynamische pagina‟s
• gegevens kunnen verschillen telkens de pagina getoond wordt
• verscheidene technieken om dynamische HTML pagina‟s te
  definiëren
   – Een daarvan: PHP script taal
• gebruik:
   – in een HTML document wordt een of meerdere plaatsen een stukje php
     code geplaatst.
   – wanneer de pagina wordt opgevraagd, wordt op de server de php code
     uitgevoerd; het resultaat wordt doorgestuurd naar de client


                    <html>
                      <body>
                        <?php
                            echo "Welkom!”;
                        ?>
                      </body>
                    </html>
PHP: een inleiding
• script-taal
   – een programmeertaal geschikt voor het schrijven van kleine
     programma‟s (=scritps)
   – om veel voorkomende taken te automatiseren.
• ontworpen in 1994 door Rasmus Lerdorf
• naam:
   – Oorspronkelijk:   PHP = Personal Home Page
   – Nu:               PHP = PHP: Hypertext Preprocessor
• PHP processor is geschreven in C, dus erg draagbaar
• erg geschikt voor het manipuleren van dynamische
  web-pagina‟s op een Web server
• heeft verscheidene functiebibliotheken voor toegang tot
  verschillende types van relationele gegevensbanken
variabelen

• namen
   – beginnen met $
   – mogen verder letters, cijfers en het onderstrepingsteken
     bevatten (maar geen cijfers onmiddellijk na $-teken)
• type: variant – kan wijzigen in functie van de
  uitgevoerde bewerking
   – moet dus niet vooraf gedeclareerd worden
   – een variable krijgt haar type bij de eerste toekenning (maar dat
     type kan later nog wijizgen!)
• soorten:
   – Getallen – Strings (tussen „ „ of “ “) – Boolese waarden
PHP

• Begin- en eindtag:
   – <?php        ?>
   – <? ?>
• Commentaar:
   – // tot einde regel
   – # tot einde regel
   – /* over verscheidene regels */
tabellen (arrays)

• zijn dynamisch: geen vast aantal elementen
• posities kunnen genummerd zijn (beginnend bij 0)
• posities kunnen ook door een string aangegeven
  worden; dan spreekt men van associatieve tabellen.
voorbeelden

• $Fruitlijst = array (`appel`, `banaan`, `sinaasappel`);
   – bevat 3 elementen, index begint bij 0
• $Fruitlijst = array (1=>`appel`, 2=> `banaan`,
  3=>`sinaasappel`);
   – bevat 3 elementen, index begint bij 1
• $db = array (`host` => `localhost`,
             `user` => `root`,
             `password` => `geheim`,
             `port` => `3306`,
             `db_name` => `php_app`) ;
tabellen (arrays)

• Sequentieel doorlopen van tabellen kan met foreach
• Foreach ($Fruitlijst as $fruit)
                     print (“$fruit <br />”);
PHP
• rekenkundige operatoren:
   – *    /    %    +       -   ++   --
• vergelijkingsoperatoren:
   – ==       ===       <       >    <=   >=   !=   <>   !==
• echo() en print()
   – weergeven van strings binnen PHP
   – met echo() kan de tekst meerdere regels omvatten, met
     print() niet
   – Voorbeelden

                    echo `dit is tekst`;
                    echo (`dit is tekst`);
PHP

• Logische operatoren
   – !      and      &&   or   ||
• String operatoren
   – .        .=
• Controlestructuren
   –   if – else
   –   verkorte if-else
   –   switch
   –   for
   –   while
   –   do – while
   –   foreach
superglobal variabelen
• variabelen die automatisch door PHP aangemaakt worden
  en altijd globaal zijn
• een aantal arrays van superglobals zijn beschikbaar, o.a.:
   – $GLOBALS:
       • array van alle variabelen die je zelf als global definieert
   – $_GET en $_POST:
       • array van alle formuliervelden die via GET of POST verzonden worden
   – $_SESSION:
       • array met sessievariabelen
   – $_SERVER:
       • array met servergegevens (servernaam, protocol,…)
   – $_ENV:
       • array met omgevingsvariabelen (OS, computernaam,…)
   – …
formulieren

• geschikt voor communicatie met een gebruiker
• gepreciseerd tussen tags <form> en </form>
• belangrijke attributen van <form> tag:
   – action: verwijzing naar de pagina die de verwerking van het
     formulier doet
   – method: manier waarop de gegevens verstuurd worden (keuze
     tussen GET en POST)
      • GET: plakt alle gegevens achter de URL
      • POST de verzonden gegevens zijn niet zichtbaar in de URL, maar komen
        in de HTTP-headers

• de velden van het formulier zijn beschikbaar in php-
  script d.m.v. de $_POST superglobal variabele
formulieren
  <html>
  <body>
    <form action="formHandler.php" method="post">
      Voornaam: <input type="text" name="voornaam" />
      Familienaam: <input type="text" name="naam" />
      <input type="submit" />
    </form>
  </body>
  </html>


• bij versturen van dit formulier gaan de gegevens naar het
  formHandler.php script, dat er b.v. als volgt kan uitzien:

  <html>
  <body>
    Hallo <?php echo $_POST["voornaam"]." ".
             $_POST["naam"]."!"; ?>
  </body>
  </html>
gebruik van PHP

• wordt aan server-zijde gebruikt voor
   – dynamische web-pagina‟s
   – web-interfaces voor het zoeken in en het aanpassen van
     gegevensbanken
verbinding maken met een
gegevensbank
• Gebruik mysql_connect en mysql_select_db
   – mysql_connect ([<server> [,<gebruikersnaam> [,<paswoord>]]])
     ;
   – mysql_select_db ( <gegevensbank> [,<connectie>]) ;

$host = „barbary.cs.kuleuven.be‟ ;
$user = „phpdb‟ ;
$pass = „frietjes‟ ;
$database = „muziek‟ ;
$conn = mysql_connect ( $host, $user, $pass )
                     or die ( “cannot connect to database”
) ;
mysql_select_db ( $database ) ;
queries

• gebruik mysql_query
   – mysql_query ( <query> [, <connectie>] ) ;
   – dit geeft een tabel als resultaat
• voorbeeld

 $query = “SELECT user_id AS id, login_name AS naam, ”
               .”birthdate AS datum “
               .”FROM user ” ;

 $result = mysql_query ($query) or
                or die (“database fout: “ .
                       mysql_error() ) ;
rijen uit het resultaat halen

• gebruik een herhaling zoals while, foreach,…

• voorbeeld


  while ( $entry = mysql_fetch_array($result,
                    MYSQL_ASSOC) ) {
     <tr>
        <td><?php echo $entry[„naam‟]; ?> </td>
        <td><?php echo $entry[„datum‟]; ?> </td>
     </tr>
  }
afsluiten van de connectie:

• Gebruik mysql_close
    mysql_close (<connectie>) ;

• Voorbeeld
    $mysql_close ( $conn ) ;
tutorials

• Online Php Manual
  http://www.php.net/manual/en/index.php
• Online MySQL Manual
  http://dev.mysql.com/doc/
VRAGEN?

Contenu connexe

Similaire à PHP

PHP & Wordpress event - cursus php voor beginners
PHP & Wordpress event - cursus php voor beginnersPHP & Wordpress event - cursus php voor beginners
PHP & Wordpress event - cursus php voor beginnersEduvision Opleidingen
 
Javascript Intro
Javascript IntroJavascript Intro
Javascript IntroHans Rossel
 
Object Oriented Programming for web applications
Object Oriented Programming for web applicationsObject Oriented Programming for web applications
Object Oriented Programming for web applicationsEdwin Vlieg
 
Digitale renovaties - Congres 2008 - V-ICT-OR
Digitale renovaties - Congres 2008 - V-ICT-ORDigitale renovaties - Congres 2008 - V-ICT-OR
Digitale renovaties - Congres 2008 - V-ICT-ORBart Gysens
 
Cursus Zend Framework - 1
Cursus Zend Framework - 1Cursus Zend Framework - 1
Cursus Zend Framework - 1bartjeukendrup
 
20130308 GB les 6
20130308 GB les 620130308 GB les 6
20130308 GB les 6mleeuwen
 
Copernica Advanced
Copernica AdvancedCopernica Advanced
Copernica AdvancedCopernica BV
 
Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknetHans Rossel
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_conchristiantester
 
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Remco Tolsma
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamBert Boerland
 
Software Engineering College 2 - ETL and databases
Software Engineering College 2 - ETL and databasesSoftware Engineering College 2 - ETL and databases
Software Engineering College 2 - ETL and databasesJurjen Helmus
 
Presentatie drupal sass
Presentatie drupal sassPresentatie drupal sass
Presentatie drupal sassKees
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Nederland
 

Similaire à PHP (20)

PHP & Wordpress event - cursus php voor beginners
PHP & Wordpress event - cursus php voor beginnersPHP & Wordpress event - cursus php voor beginners
PHP & Wordpress event - cursus php voor beginners
 
Javascript Intro
Javascript IntroJavascript Intro
Javascript Intro
 
Beginnen met PHP
Beginnen met PHPBeginnen met PHP
Beginnen met PHP
 
Object Oriented Programming for web applications
Object Oriented Programming for web applicationsObject Oriented Programming for web applications
Object Oriented Programming for web applications
 
Digitale renovaties - Congres 2008 - V-ICT-OR
Digitale renovaties - Congres 2008 - V-ICT-ORDigitale renovaties - Congres 2008 - V-ICT-OR
Digitale renovaties - Congres 2008 - V-ICT-OR
 
Cursus Zend Framework - 1
Cursus Zend Framework - 1Cursus Zend Framework - 1
Cursus Zend Framework - 1
 
20130308 GB les 6
20130308 GB les 620130308 GB les 6
20130308 GB les 6
 
Copernica Advanced
Copernica AdvancedCopernica Advanced
Copernica Advanced
 
Fedora CMA en XSLT
Fedora CMA en XSLTFedora CMA en XSLT
Fedora CMA en XSLT
 
embedded SQL en JDBC
embedded SQL en JDBCembedded SQL en JDBC
embedded SQL en JDBC
 
Html5 jeugdwerknet
Html5 jeugdwerknetHtml5 jeugdwerknet
Html5 jeugdwerknet
 
Rf meetup 20210412 robo_con
Rf meetup 20210412 robo_conRf meetup 20210412 robo_con
Rf meetup 20210412 robo_con
 
Modern web development
Modern web developmentModern web development
Modern web development
 
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
Mashups - Snel en eenvoudig data combineren met PHP (deel 1)
 
Excellent rest met de web api
Excellent rest met de web apiExcellent rest met de web api
Excellent rest met de web api
 
Projectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdamProjectpaas drupaljam 2013 rotterdam
Projectpaas drupaljam 2013 rotterdam
 
Software Engineering College 2 - ETL and databases
Software Engineering College 2 - ETL and databasesSoftware Engineering College 2 - ETL and databases
Software Engineering College 2 - ETL and databases
 
Javascript Dhtml
Javascript DhtmlJavascript Dhtml
Javascript Dhtml
 
Presentatie drupal sass
Presentatie drupal sassPresentatie drupal sass
Presentatie drupal sass
 
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en FluidTYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
TYPO3 Congres 2012 - Aan de slag met TYPO3 Extbase en Fluid
 

Plus de Katrien Verbert

Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Katrien Verbert
 
Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Katrien Verbert
 
Human-centered AI: how can we support lay users to understand AI?
Human-centered AI: how can we support lay users to understand AI?Human-centered AI: how can we support lay users to understand AI?
Human-centered AI: how can we support lay users to understand AI?Katrien Verbert
 
Explaining job recommendations: a human-centred perspective
Explaining job recommendations: a human-centred perspectiveExplaining job recommendations: a human-centred perspective
Explaining job recommendations: a human-centred perspectiveKatrien Verbert
 
Explaining recommendations: design implications and lessons learned
Explaining recommendations: design implications and lessons learnedExplaining recommendations: design implications and lessons learned
Explaining recommendations: design implications and lessons learnedKatrien Verbert
 
Designing Learning Analytics Dashboards: Lessons Learned
Designing Learning Analytics Dashboards: Lessons LearnedDesigning Learning Analytics Dashboards: Lessons Learned
Designing Learning Analytics Dashboards: Lessons LearnedKatrien Verbert
 
Human-centered AI: towards the next generation of interactive and adaptive ex...
Human-centered AI: towards the next generation of interactive and adaptive ex...Human-centered AI: towards the next generation of interactive and adaptive ex...
Human-centered AI: towards the next generation of interactive and adaptive ex...Katrien Verbert
 
Explainable AI for non-expert users
Explainable AI for non-expert usersExplainable AI for non-expert users
Explainable AI for non-expert usersKatrien Verbert
 
Towards the next generation of interactive and adaptive explanation methods
Towards the next generation of interactive and adaptive explanation methodsTowards the next generation of interactive and adaptive explanation methods
Towards the next generation of interactive and adaptive explanation methodsKatrien Verbert
 
Personalized food recommendations: combining recommendation, visualization an...
Personalized food recommendations: combining recommendation, visualization an...Personalized food recommendations: combining recommendation, visualization an...
Personalized food recommendations: combining recommendation, visualization an...Katrien Verbert
 
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...Katrien Verbert
 
Learning analytics for feedback at scale
Learning analytics for feedback at scaleLearning analytics for feedback at scale
Learning analytics for feedback at scaleKatrien Verbert
 
Interactive recommender systems and dashboards for learning
Interactive recommender systems and dashboards for learningInteractive recommender systems and dashboards for learning
Interactive recommender systems and dashboards for learningKatrien Verbert
 
Interactive recommender systems: opening up the “black box”
Interactive recommender systems: opening up the “black box”Interactive recommender systems: opening up the “black box”
Interactive recommender systems: opening up the “black box”Katrien Verbert
 
Interactive Recommender Systems
Interactive Recommender SystemsInteractive Recommender Systems
Interactive Recommender SystemsKatrien Verbert
 
Web Information Systems Lecture 2: HTML
Web Information Systems Lecture 2: HTMLWeb Information Systems Lecture 2: HTML
Web Information Systems Lecture 2: HTMLKatrien Verbert
 
Information Visualisation: perception and principles
Information Visualisation: perception and principlesInformation Visualisation: perception and principles
Information Visualisation: perception and principlesKatrien Verbert
 
Web Information Systems Lecture 1: Introduction
Web Information Systems Lecture 1: IntroductionWeb Information Systems Lecture 1: Introduction
Web Information Systems Lecture 1: IntroductionKatrien Verbert
 
Information Visualisation: Introduction
Information Visualisation: IntroductionInformation Visualisation: Introduction
Information Visualisation: IntroductionKatrien Verbert
 

Plus de Katrien Verbert (20)

Explainability methods
Explainability methodsExplainability methods
Explainability methods
 
Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?
 
Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?Human-centered AI: how can we support end-users to interact with AI?
Human-centered AI: how can we support end-users to interact with AI?
 
Human-centered AI: how can we support lay users to understand AI?
Human-centered AI: how can we support lay users to understand AI?Human-centered AI: how can we support lay users to understand AI?
Human-centered AI: how can we support lay users to understand AI?
 
Explaining job recommendations: a human-centred perspective
Explaining job recommendations: a human-centred perspectiveExplaining job recommendations: a human-centred perspective
Explaining job recommendations: a human-centred perspective
 
Explaining recommendations: design implications and lessons learned
Explaining recommendations: design implications and lessons learnedExplaining recommendations: design implications and lessons learned
Explaining recommendations: design implications and lessons learned
 
Designing Learning Analytics Dashboards: Lessons Learned
Designing Learning Analytics Dashboards: Lessons LearnedDesigning Learning Analytics Dashboards: Lessons Learned
Designing Learning Analytics Dashboards: Lessons Learned
 
Human-centered AI: towards the next generation of interactive and adaptive ex...
Human-centered AI: towards the next generation of interactive and adaptive ex...Human-centered AI: towards the next generation of interactive and adaptive ex...
Human-centered AI: towards the next generation of interactive and adaptive ex...
 
Explainable AI for non-expert users
Explainable AI for non-expert usersExplainable AI for non-expert users
Explainable AI for non-expert users
 
Towards the next generation of interactive and adaptive explanation methods
Towards the next generation of interactive and adaptive explanation methodsTowards the next generation of interactive and adaptive explanation methods
Towards the next generation of interactive and adaptive explanation methods
 
Personalized food recommendations: combining recommendation, visualization an...
Personalized food recommendations: combining recommendation, visualization an...Personalized food recommendations: combining recommendation, visualization an...
Personalized food recommendations: combining recommendation, visualization an...
 
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...
Explaining and Exploring Job Recommendations: a User-driven Approach for Inte...
 
Learning analytics for feedback at scale
Learning analytics for feedback at scaleLearning analytics for feedback at scale
Learning analytics for feedback at scale
 
Interactive recommender systems and dashboards for learning
Interactive recommender systems and dashboards for learningInteractive recommender systems and dashboards for learning
Interactive recommender systems and dashboards for learning
 
Interactive recommender systems: opening up the “black box”
Interactive recommender systems: opening up the “black box”Interactive recommender systems: opening up the “black box”
Interactive recommender systems: opening up the “black box”
 
Interactive Recommender Systems
Interactive Recommender SystemsInteractive Recommender Systems
Interactive Recommender Systems
 
Web Information Systems Lecture 2: HTML
Web Information Systems Lecture 2: HTMLWeb Information Systems Lecture 2: HTML
Web Information Systems Lecture 2: HTML
 
Information Visualisation: perception and principles
Information Visualisation: perception and principlesInformation Visualisation: perception and principles
Information Visualisation: perception and principles
 
Web Information Systems Lecture 1: Introduction
Web Information Systems Lecture 1: IntroductionWeb Information Systems Lecture 1: Introduction
Web Information Systems Lecture 1: Introduction
 
Information Visualisation: Introduction
Information Visualisation: IntroductionInformation Visualisation: Introduction
Information Visualisation: Introduction
 

PHP

  • 2. Hypertext Markup Language (HTML) • gebruikt voor webpagina‟s • statische pagina‟s • tekst met tags tussen scherpe haakjes die het formaat specificeren om de tekst te tonen in bepaalde vorm <html> <head> <title>Welkom</title> </head> <body> <h1>Ga zitten</h1> <p>Hartelijk <b>welkom</b> in de cursus.</p> </body> </html>
  • 3. dynamische pagina‟s • gegevens kunnen verschillen telkens de pagina getoond wordt • verscheidene technieken om dynamische HTML pagina‟s te definiëren – Een daarvan: PHP script taal • gebruik: – in een HTML document wordt een of meerdere plaatsen een stukje php code geplaatst. – wanneer de pagina wordt opgevraagd, wordt op de server de php code uitgevoerd; het resultaat wordt doorgestuurd naar de client <html> <body> <?php echo "Welkom!”; ?> </body> </html>
  • 4. PHP: een inleiding • script-taal – een programmeertaal geschikt voor het schrijven van kleine programma‟s (=scritps) – om veel voorkomende taken te automatiseren. • ontworpen in 1994 door Rasmus Lerdorf • naam: – Oorspronkelijk: PHP = Personal Home Page – Nu: PHP = PHP: Hypertext Preprocessor • PHP processor is geschreven in C, dus erg draagbaar • erg geschikt voor het manipuleren van dynamische web-pagina‟s op een Web server • heeft verscheidene functiebibliotheken voor toegang tot verschillende types van relationele gegevensbanken
  • 5. variabelen • namen – beginnen met $ – mogen verder letters, cijfers en het onderstrepingsteken bevatten (maar geen cijfers onmiddellijk na $-teken) • type: variant – kan wijzigen in functie van de uitgevoerde bewerking – moet dus niet vooraf gedeclareerd worden – een variable krijgt haar type bij de eerste toekenning (maar dat type kan later nog wijizgen!) • soorten: – Getallen – Strings (tussen „ „ of “ “) – Boolese waarden
  • 6. PHP • Begin- en eindtag: – <?php ?> – <? ?> • Commentaar: – // tot einde regel – # tot einde regel – /* over verscheidene regels */
  • 7. tabellen (arrays) • zijn dynamisch: geen vast aantal elementen • posities kunnen genummerd zijn (beginnend bij 0) • posities kunnen ook door een string aangegeven worden; dan spreekt men van associatieve tabellen.
  • 8. voorbeelden • $Fruitlijst = array (`appel`, `banaan`, `sinaasappel`); – bevat 3 elementen, index begint bij 0 • $Fruitlijst = array (1=>`appel`, 2=> `banaan`, 3=>`sinaasappel`); – bevat 3 elementen, index begint bij 1 • $db = array (`host` => `localhost`, `user` => `root`, `password` => `geheim`, `port` => `3306`, `db_name` => `php_app`) ;
  • 9. tabellen (arrays) • Sequentieel doorlopen van tabellen kan met foreach • Foreach ($Fruitlijst as $fruit) print (“$fruit <br />”);
  • 10. PHP • rekenkundige operatoren: – * / % + - ++ -- • vergelijkingsoperatoren: – == === < > <= >= != <> !== • echo() en print() – weergeven van strings binnen PHP – met echo() kan de tekst meerdere regels omvatten, met print() niet – Voorbeelden echo `dit is tekst`; echo (`dit is tekst`);
  • 11. PHP • Logische operatoren – ! and && or || • String operatoren – . .= • Controlestructuren – if – else – verkorte if-else – switch – for – while – do – while – foreach
  • 12. superglobal variabelen • variabelen die automatisch door PHP aangemaakt worden en altijd globaal zijn • een aantal arrays van superglobals zijn beschikbaar, o.a.: – $GLOBALS: • array van alle variabelen die je zelf als global definieert – $_GET en $_POST: • array van alle formuliervelden die via GET of POST verzonden worden – $_SESSION: • array met sessievariabelen – $_SERVER: • array met servergegevens (servernaam, protocol,…) – $_ENV: • array met omgevingsvariabelen (OS, computernaam,…) – …
  • 13.
  • 14. formulieren • geschikt voor communicatie met een gebruiker • gepreciseerd tussen tags <form> en </form> • belangrijke attributen van <form> tag: – action: verwijzing naar de pagina die de verwerking van het formulier doet – method: manier waarop de gegevens verstuurd worden (keuze tussen GET en POST) • GET: plakt alle gegevens achter de URL • POST de verzonden gegevens zijn niet zichtbaar in de URL, maar komen in de HTTP-headers • de velden van het formulier zijn beschikbaar in php- script d.m.v. de $_POST superglobal variabele
  • 15. formulieren <html> <body> <form action="formHandler.php" method="post"> Voornaam: <input type="text" name="voornaam" /> Familienaam: <input type="text" name="naam" /> <input type="submit" /> </form> </body> </html> • bij versturen van dit formulier gaan de gegevens naar het formHandler.php script, dat er b.v. als volgt kan uitzien: <html> <body> Hallo <?php echo $_POST["voornaam"]." ". $_POST["naam"]."!"; ?> </body> </html>
  • 16. gebruik van PHP • wordt aan server-zijde gebruikt voor – dynamische web-pagina‟s – web-interfaces voor het zoeken in en het aanpassen van gegevensbanken
  • 17. verbinding maken met een gegevensbank • Gebruik mysql_connect en mysql_select_db – mysql_connect ([<server> [,<gebruikersnaam> [,<paswoord>]]]) ; – mysql_select_db ( <gegevensbank> [,<connectie>]) ; $host = „barbary.cs.kuleuven.be‟ ; $user = „phpdb‟ ; $pass = „frietjes‟ ; $database = „muziek‟ ; $conn = mysql_connect ( $host, $user, $pass ) or die ( “cannot connect to database” ) ; mysql_select_db ( $database ) ;
  • 18. queries • gebruik mysql_query – mysql_query ( <query> [, <connectie>] ) ; – dit geeft een tabel als resultaat • voorbeeld $query = “SELECT user_id AS id, login_name AS naam, ” .”birthdate AS datum “ .”FROM user ” ; $result = mysql_query ($query) or or die (“database fout: “ . mysql_error() ) ;
  • 19. rijen uit het resultaat halen • gebruik een herhaling zoals while, foreach,… • voorbeeld while ( $entry = mysql_fetch_array($result, MYSQL_ASSOC) ) { <tr> <td><?php echo $entry[„naam‟]; ?> </td> <td><?php echo $entry[„datum‟]; ?> </td> </tr> }
  • 20. afsluiten van de connectie: • Gebruik mysql_close mysql_close (<connectie>) ; • Voorbeeld $mysql_close ( $conn ) ;
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. tutorials • Online Php Manual http://www.php.net/manual/en/index.php • Online MySQL Manual http://dev.mysql.com/doc/