PHP

28
Webtoegang tot gegevensbanken Katrien Verbert [email protected]

description

 

Transcript of PHP

Page 1: PHP

Webtoegang tot

gegevensbanken

Katrien Verbert

[email protected]

Page 2: PHP

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>

Page 3: PHP

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>

Page 4: PHP

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

Page 5: PHP

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

Page 6: PHP

PHP

• Begin- en eindtag:

– <?php ?>

– <? ?>

• Commentaar:

– // tot einde regel

– # tot einde regel

– /* over verscheidene regels */

Page 7: PHP

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.

Page 8: PHP

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`) ;

Page 9: PHP

tabellen (arrays)

• Sequentieel doorlopen van tabellen kan met foreach

• Foreach ($Fruitlijst as $fruit)

print (“$fruit <br />”);

Page 10: PHP

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`);

Page 11: PHP

PHP

• Logische operatoren

– ! and && or ||

• String operatoren

– . .=

• Controlestructuren

– if – else

– verkorte if-else

– switch

– for

– while

– do – while

– foreach

Page 12: PHP

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,…)

– …

Page 13: PHP
Page 14: PHP

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

Page 15: PHP

formulieren

• bij versturen van dit formulier gaan de gegevens naar het

formHandler.php script, dat er b.v. als volgt kan uitzien:

<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>

<html>

<body>

Hallo <?php echo $_POST["voornaam"]." ".

$_POST["naam"]."!"; ?>

</body>

</html>

Page 16: PHP

gebruik van PHP

• wordt aan server-zijde gebruikt voor

– dynamische web-pagina‟s

– web-interfaces voor het zoeken in en het aanpassen van

gegevensbanken

Page 17: PHP

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 ) ;

Page 18: PHP

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() ) ;

Page 19: PHP

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>

}

Page 20: PHP

afsluiten van de connectie:

• Gebruik mysql_close

mysql_close (<connectie>) ;

• Voorbeeld

$mysql_close ( $conn ) ;

Page 21: PHP
Page 22: PHP
Page 23: PHP
Page 24: PHP
Page 25: PHP
Page 26: PHP
Page 27: PHP

tutorials

• Online Php Manual

http://www.php.net/manual/en/index.php

• Online MySQL Manual

http://dev.mysql.com/doc/

Page 28: PHP

VRAGEN?