De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 16 en 19 PHP en MYSQL

Verwante presentaties


Presentatie over: "Hoofdstuk 16 en 19 PHP en MYSQL"— Transcript van de presentatie:

1 Hoofdstuk 16 en 19 PHP en MYSQL
wamp, server-side/client side PHP, de basis if-opdracht, herhaling formulier-verwerking met bestanden werken MySQL LauwersCollege Buitenpost Informatica

2 LauwersCollege Buitenpost Informatica
Wamp PHP Open source Brede ondersteuning Gebruik bijvoorbeeld WAMP MySQL (databases) Open source Beperkte functionaliteiten Extreem snel bij kleine tot middelgrote databases Windows Apache Mysql Apache (webserver) Open source Snel en stabiel PHP LauwersCollege Buitenpost Informatica

3 Client-side scripttaal
client-sided wordt verwerkt door de browser client-sided is statisch client-sided heeft beperkingen vb: HTML, CSS, JavaScript, Applets LauwersCollege Buitenpost Informatica

4 Javascript: client-side scripttaal
computer van de gebruiker computer van de provider html-documenten web server verzoek voor een pagina browser HTML pagina internet LauwersCollege Buitenpost Informatica

5 Server-side scripttaal
server-sided wordt verwerkt op de web server server-sided is dynamisch server-sided kan praktisch alles regelen vb: PHP, PERL, ASP, Python LauwersCollege Buitenpost Informatica

6 PHP: server-side scripttaal
computer van de gebruiker computer van de provider php-documenten web server machine scripting verzoek voor een pagina browser database HTML pagina internet LauwersCollege Buitenpost Informatica

7 Het eerste php-document
<html> <head> <title>mijn 1e php-bestand </title></head> <body> <?php echo "mijn 1e PHP-document\n"; echo date(); ?> </body></html> <html> <head> <title>mijn 1e php-bestand </title></head> <body> mijn 1e PHP-document </body></html> eerste_php_bestand.php hier begint de php-code hier eindigt de php-code LauwersCollege Buitenpost Informatica

8 Het eerste php-document (2)
een PHP bestand heeft de extensie .php PHP code start je met <?php PHP code eindigt met ?> met echo druk je iets af; kan ook met print (....); \n zorgt er voor dat er in de html-code op een nieuwe regel wordt overgegaan met echo date(); wordt de datum afgedrukt Elke opdracht-regel sluit je af met een ; // commentaar kan na een dubbele slash /* meer-regelig commentaar kan op deze manier, dus tussen slash+spatie */ LauwersCollege Buitenpost Informatica

9 LauwersCollege Buitenpost Informatica
Variabelen Variabelen worden gebruikt om gegevens tijdelijk op te slaan N.B: PHP is hoofdlettergevoelig! namen van variabelen beginnen met een $ namen mogen letters, cijfers of '_' bevatten variabelen hoef je niet te declareren in PHP Voorbeelden: <?php $naam = "van der Beek"; // een string $aantal = 60; // een integer $getal = 1.23; // een double $fout = false; // een boolean ?> LauwersCollege Buitenpost Informatica

10 LauwersCollege Buitenpost Informatica
Ontsnappingstekens De \ (Backslash) wordt gebruikt als zogenaamd ontsnappingsteken. Dat moet je voor bepaalde tekens zetten om verwarring te voorkomen. Als je in een echo-opdracht bijvoorbeeld het dollarteken $ ergens wilt gebruiken, dan moet je \$ invoeren, anders wordt er gedacht dat het om een variabele gaat. Ook als je in een echo-opdracht aanhalingstekens " of ' wilt laten afdrukken, dan moet je ze escapen (d.w.z.: backslash ervoor) En als je de backslash wilt afdrukken, dan moet je er een extra backslash voor zetten. De \ wordt ook gebruikt voor speciale tekens, bijvoorbeeld \n is het teken voor een nieuwe regel, en \t voor een tab-teken. Voorbeelden: <?php echo 'Hij heet David \'O Connor'; echo 'Dit kostte \$5,-'; ?> LauwersCollege Buitenpost Informatica

11 LauwersCollege Buitenpost Informatica
Operatoren operatoren voor optellen, aftrekken, vermenigvuldigen en delen zijn +, -, * en /, zoals je gewend bent string operatoren kun je met een . aan elkaar plakken Als $fruit = 'appel'; en $kleur = 'rode'; dan wordt er met echo $fruit . $kleur; afgedrukt: rode appel vergelijkings operatoren: if ($a == 3)  als $a gelijk is aan 3 dan if ($a != 5)  als $a ongelijk is aan 5 dan if ($a <= $b)  als $a kleiner of gelijk is aan $b dan .... Logische operatoren zijn and, &&(=en), or, ||(=of), !(=niet) if ($a == 1 && $b2 <= 5 ) LauwersCollege Buitenpost Informatica

12 Voorwaardelijke opdracht
<html><head><title>if-opdracht</title></head> <body> <?php $dagnummer = date("w"); if ($dagnummer == 2) { echo "Vandaag is het dinsdag!"; } else { echo "Vandaag is het geen dinsdag"; } ?> </body></html> De if-opdracht controleert de waarde van $dagnummer (date("w")  0=zondag, 1=maandag, … 6=zaterdag) Als het gelijk aan 2 is zal alles tussen de eerste { } worden afgedrukt. En als het niet gelijk aan 2 is zal alles tussen de tweede { } worden afgedrukt. LauwersCollege Buitenpost Informatica

13 LauwersCollege Buitenpost Informatica
elseif wanneer er meer mogelijkheden dan twee zijn kan ook deze constructie gebruikt worden: $dagnummer = date("w"); if ($dagnummer == 2) { echo "Vandaag is het dinsdag!"; } elseif ($dagnummer == 3) { echo "Vandaag is het woensdag!"; } else { echo "Vandaag is het geen dinsdag en geen woensdag"; } LauwersCollege Buitenpost Informatica

14 LauwersCollege Buitenpost Informatica
Herhaling m.b.v. for <html><body> <?php $woord = "Hallo"; for($x=0 ; $x<8 ; $x++) { print("$woord<br>");} ?> </body><html> <html><body> Hallo<br> Hallo<br> Hallo<br> Hallo<br> Hallo<br> Hallo<br> Hallo<br> Hallo<br> </body><html> LauwersCollege Buitenpost Informatica

15 LauwersCollege Buitenpost Informatica
Herhaling m.b.v. while while (voorwaarde) { opdrachten; } of zó: do { opdrachten; } while (voorwaarde) LauwersCollege Buitenpost Informatica

16 Een tabel maken m.b.v. een for-lus
<html><body> <?php print("<table border=1> \n"); for ($x=1 ; $x<5 ; $x++) { print("<tr> \n"); for($y=1 ; $y<4 ; $y++) print("<td>$x $y</td> \n"); } print("</tr> "); print("</table> \n"); ?> </body></html> <html><body> <table border=1> <tr> <td>1 1</td> <td>1 2</td> <td>1 3</td> </tr><tr> <td>2 1</td> <td>2 2</td> <td>2 3</td> <td>3 1</td> <td>3 2</td> <td>3 3</td> <td>4 1</td> <td>4 2</td> <td>4 3</td> </tr><tr> <td>5 1</td> <td>5 2</td> <td>5 3</td> </tr></table> </body></html> LauwersCollege Buitenpost Informatica

17 LauwersCollege Buitenpost Informatica
Een formulier We maken eerst een html-document met een formulier (dat hoeft dus geen php-document te zijn) formulier.htm <html><body> <form action="verwerkformulier.php" method="post"> voornaam: <input type="text" name="voornaam"><br> achternaam: <input type="text" name="achternaam"><br> <input type="submit" value="verzenden"> </form> </body></html> LauwersCollege Buitenpost Informatica

18 Nu naar het verwerkings-script LauwersCollege Buitenpost Informatica
Als het formulier is ingevuld, en er wordt op de knop met "verzenden" geklikt dan wordt er een verzoek naar de server gestuurd om het script "verwerkformulier.php" te verwerken en te versturen (vanwege action="verwerkformulier.php" in de form-tag) Bovendien wordt de invoer in het formulier meegestuurd, en als in de form-tag method="post" was toegevoegd dan komen de invoergegevens beschikbaar in de variabelen $_POST['naam van het invoervenster'] LauwersCollege Buitenpost Informatica

19 Verwerking van het formulier LauwersCollege Buitenpost Informatica
als de naam van het tekstvenster voornaam is komt de invoer beschikbaar als $_POST['voornaam'] Er moet een php-document zijn, dat het formulier kan verwerken. <html><body> Je hebt de volgende dingen ingevuld:<br><br> <?php $vn = $_POST['voornaam']; $an = $_POST['achternaam']; echo "Voornaam: $vn<br>\n";       echo "Achternaam: $an<br>\n"; ?> </body></html> als de naam van het tekstvenster achternaam is komt de invoer beschikbaar als $_POST['achternaam'] verwerkformulier.php LauwersCollege Buitenpost Informatica

20 De gegevens vastleggen in bestand
Als je de ingevoerde gegevens uit het vorige formulier wilt vastleggen in een bestand, dan moet je een leeg bestand met bijv. de naam "nawgegevens.txt" uploaden naar de web-server, dan dan moet je de bestands-permissies van die file wijzigen in 777 (rwx voor iedereen) om er voor te zorgen dat iedereen dat bestand kan lezen en er voor kan zorgen dat er iets aan dat bestand wordt toegevoegd. Het bijbehorende php-script, dat er voor zorgt dat de gegevens worden vastgelegd in een bestand, zie je op de volgende dia LauwersCollege Buitenpost Informatica

21 Invoergegevens formulier vastleggen
het bestand nawgegevens.txt wordt geopend, om er gegevens aan toe te kunnen voegen (a van append) Het php-document zijn, dat het formulier verwerkt, kan dan als volgt zijn: <html><body> Je hebt de volgende dingen ingevuld:<br><br> <?php $vn = $_POST['voornaam']; echo "$vn<br>"; $an = $_POST['achternaam']; echo "$an<br>";       $f = fopen("nawgegevens.txt","a");       if ($f)       {    fwrite($f,"$vn\n");             fwrite($f,"$an\n");             fclose($f); echo "de gegevens zijn vastgelegd<br>"; } ?> </body></html> de voornaam ($vn) wordt aan het bestand toegevoegd, en daarna de achternaam ($an) op een nieuwe regel (vanwege \n) verwerkformulier.php LauwersCollege Buitenpost Informatica

22 Inlezen en tonen van de gegevens
het bestand nawgegevens.txt wordt geopend, om er gegevens uit te kunnen lezen (r van read) Inlezen en tonen van de gegevens Onderstaand php-document leest de gegevens in en toont ze. <html><body> <?php       $f = fopen("nawgegevens.txt","r");       if ($f)       {    $b=file($bnaam); for ($i=0;$i<count($b);$i++) { print("$b[$i]<br>"); }            fclose($f); ?> </body></html> de regels van het bestand worden ingelezen en in een array ($b) gezet) de i-de regel van het array, dus van het bestand, wordt afgedrukt verwerkformulier.php LauwersCollege Buitenpost Informatica

23 LauwersCollege Buitenpost Informatica
SQL en MySQL Nu gaan we met behulp van een script gegevens uit een (MySQL) database halen. We gaan er vanuit dat er een database met de naam "bibliotheek" aanwezig is, en dat één van de tabellen de naam "leerlingen" heeft. Zo'n database kan m.b.v. phpMyAdmin op de server worden geïnstalleerd. We gaan er verder vanuit dat de naam van de host "localhost" is, dat de gebruikersnaam "leerling" is, en het wachtwoord "lc2010" Het php-script om met behulp van een sql-query gegevens uit de database te tonen zie je op de volgende dia LauwersCollege Buitenpost Informatica

24 Het php-script om een query uit te voeren
<html><body> <?php $verbinding=mysql_connect("localhost","leerling","lc2010"); mysql_select_db("bibliotheek",$verbinding); $query = "SELECT * FROM leerlingen"; $result = mysql_query($query); $aantalrijen = mysql_num_rows($result); $aantalvelden = mysql_num_fields($result); print("<table border = 1> \n"); for ($x=0 ; $x<$aantalrijen ; $x++) { print("<tr> \n"); $rij = mysql_fetch_array($result); for ($y=0 ; $y<$aantalvelden ; $y++) { print("<td> $rij[$y] </td> \n"); } print("</tr> \n"); } print("</table> \n"); ?> </body></html> Er wordt een verbinding gemaakt met het database-programma Er wordt een database met de naam: "bibliotheek" geselecteerd LauwersCollege Buitenpost Informatica

25 Het php-script om een query uit te voeren (2)
<html><body> <?php $verbinding=mysql_connect("localhost","leerling","lc2010"); mysql_select_db("bibliotheek",$verbinding); $query = "SELECT * FROM leerlingen"; $result = mysql_query($query); $aantalrijen = mysql_num_rows($result); $aantalvelden = mysql_num_fields($result); print("<table border = 1> \n"); for ($x=0 ; $x<$aantalrijen ; $x++) { print("<tr> \n"); $rij = mysql_fetch_array($result); for ($y=0 ; $y<$aantalvelden ; $y++) { print("<td> $rij[$y] </td> \n"); } print("</tr> \n"); } print("</table> \n"); ?> </body></html> De query wordt uitgevoerd en het resultaat wordt opgeslagen in de variabele $result Het aantal rijen en het aantal velden van het resultaat wordt vastgelegd in de variabelen $aantalrijen en $aantalvelden LauwersCollege Buitenpost Informatica

26 Het php-script om een query uit te voeren (3)
<html><body> <?php $verbinding=mysql_connect("localhost","leerling","lc2010"); mysql_select_db("bibliotheek",$verbinding); $query = "SELECT * FROM leerlingen"; $result = mysql_query($query); $aantalrijen = mysql_num_rows($result); $aantalvelden = mysql_num_fields($result); print("<table border = 1> \n"); for ($x=0 ; $x<$aantalrijen ; $x++) { print("<tr> \n"); $rij = mysql_fetch_array($result); for ($y=0 ; $y<$aantalvelden ; $y++) { print("<td> $rij[$y] </td> \n"); } print("</tr> \n"); } print("</table> \n"); ?> </body></html> De records worden opgevraagd en weergegeven in een HTML-tabel LauwersCollege Buitenpost Informatica

27 LauwersCollege Buitenpost Informatica
Toevoegen met SQL We kunnen niet alleen gegevens opvragen uit een database, we kunnen ook gegevens wijzigen, verwijderen en toevoegen. We gaan er weer vanuit dat er een database met de naam "bibliotheek" aanwezig is, en dat er een tabel "leerlingen" is. We gaan er verder vanuit dat de naam van de host "localhost" is, dat de gebruikersnaam "leerling" is, en het wachtwoord "lc2010" We moeten eerst een formulier hebben waarin de toe te voegen gegevens ingevoerd kunnen worden. En dan moet er een php-script zijn, die de gegevens uit dat formulier verwerkt. LauwersCollege Buitenpost Informatica

28 Een formulier om gegevens toe te voegen
<html> <body> <form action="voegtoe.php" method="post"> <input type="text" name="voornaam" value=""> < input type="text" name =”achternaam" value =""> <input type=submit value="Verzend"> </form> </body> </html> LauwersCollege Buitenpost Informatica

29 Het php-script om gegevens toe te voegen Einde
Er wordt een query gemaakt die de nieuwe gegevens invoert <html> <body> <?php $verbinding=mysql_connect("localhost","leerling","lc2010"); mysql_select_db("bibliotheek",$verbinding); $query = "INSERT INTO leden(voornaam,achternaam) VALUES('$voornaam','$achternaam')"; $result = mysql_query($query); ?> De gegevens zijn toegevoegd aan de database. </body> </html> De query wordt uitgevoerd. voegtoe.php Einde LauwersCollege Buitenpost Informatica


Download ppt "Hoofdstuk 16 en 19 PHP en MYSQL"

Verwante presentaties


Ads door Google