- · PDF fileejk2002 Inhoud 1. Introductie 1 Wat is PHP Welke mogelijkheden heeft PHP Een...

of 54 /54
<? Basiscursus PHP ?> Samenstelling: Eddy Krishnadath

Embed Size (px)

Transcript of - · PDF fileejk2002 Inhoud 1. Introductie 1 Wat is PHP Welke mogelijkheden heeft PHP Een...

  • Samenstelling: Eddy Krishnadath

  • ejk2002

    Ekrishnadath Amsterdam 2002

  • ejk2002

    Inhoud 1. Introductie 1

    Wat is PHP Welke mogelijkheden heeft PHP Een korte geschiedenis van PHP

    2. Integratie met HTML 3 3. Instructiescheiding 4 4. Commentaarregels 5 5. Gegevenstypen 6

    Integers Floating point Strings Objecten

    6. Variabelen 10 7. Operatoren 11

    Rekenkundige operatoren Toewijzing Vergelijking Incrementele/decrementele operatoren Logische operatoren Voorrangsregels

    8. Functies 14 9. Classes 15 10. Controlestructuren 16

    IF ELSE ELSEIF WHILE DO WHILE FOR SWITCH

    11. Datum en Tijd 22 Time Date Mktime

  • ejk2002

    12. Bestandsmanipulatie 24 File_exists Readfile Fopen Fclose Fgets Fputs

    13. Array Functies 27 Count In_array Array_slice Array_merge Array_rand Array_push

    14. Formulierverwerking 30 15. Database Connectiviteit 33 15.1 ODBC 33

    odbc_connect odbcd_close en odbc_close_all odbc_exec odbc_result_all odbc_num_rows odbc_fetch_rows odbc_num_fields odbc_result odbc_field_name

    15.2 MySQL 33 mysql_connect mysql_select_db mysql_db_query Tabellen weergeven

    16. Diverse Functies 40

    Include en require Cookies Sessions Rand Header Empty en isset Extra string functies

    17. Regular Expressions 45

  • Basiscursus PHP pagina 1

    ejk2002

    1. Introductie

    Wat is PHP PHP ( "PHP: Hypertext Preprocessor") is een serverside HTML-embedded scripting taal. Dat was een simpel antwoord, maar wat wordt er mee bedoeld? PHP is een scripting taal waarmee HTML-paginas kunnen worden bewerkt en ver-werkt. In tegenstelling tot scripting talen als javascript en VB-script, wordt PHP niet afgehandeld door de browser van de client, maar door de webserver zelf. De moge-lijkheden van PHP zijn dan ook eerder te vergelijken met CGI-scripts en andere ser-verside applicaties, maar dan wel met het voordeel dat ze net zo eenvoudig kunnen worden aangemaakt als een clientside script. Een zeer eenvoudig PHP-script kan er als volgt uitzien. Voorbeeld voorbeeld 1 Zie je hoe verschillend dit is van een CGI script geschreven in andere talen zoals Perl of C -- in plaats van een programma te schrijven met veel commando's om HTML te laten zien, kun je een HTML script schrijven met ingebouwde code die iets doen (in dit geval een stuk tekst laten zien). De PHP code is omgeven door speciale start en stop tags die het mogelijk maken tussen normale mode en PHP mode over te stappen. Wat PHP onderscheid van client-side talen zoals Javascript is dat de code op de server wordt uitgevoerd. Als een gelijksoortig script zoals het hierboven staande voorbeeld wordt gebruikt, zal de browser de uitkomst van het script ontvangen en zal op geen enkele manier kunnen achterhalen wat de onderliggende code is. Het is zelfs mogelijk om alle HTML bestanden op jouw website te laten parsen door PHP, en op geen enkele manier zullen gebruikers merken dat er ook maar iets gaande is.

    Welke mogelijkheden heeft PHP Als basis kan PHP alles doen wat elk ander CGI script kan doen, zoals het ophalen van formuliergegevens, het genereren van dynamische pagina's of het sturen en ont-vangen van cookies.

  • Pagina 2 Basiscursus PHP

    ejk2002

    Waarschijnlijk is de sterkste kant van PHP dat het ondersteuning biedt voor een groot scala aan databases. Het schrijven van een database gekoppelde web pa-ge is ongelooflijk simpel. De volgende databases worden ondersteund:

    Adabas D Ingres Oracle (OCI7 and OCI8) dBase InterBase Ovrimos Empress FrontBase PostgreSQL FilePro (read-only) mSQL Solid Hyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC Unix dbm

    PHP bied ook ondersteuning voor het communiceren met andere services als IMAP, SNMP, NNTP, POP3, HTTP en talloze andere. Het is ook mogelijk om netwerk soc-kets te gebruiken en te communiceren met andere protocollen.

    Een korte geschiedenis van PHP PHP is bedacht ongeveer in de herst van 1994 door Rasmus Lerdorf. Vroegere niet uitgebrachte versies werden alleen op zijn homepage gebruikt om te zien wie zijn C.V. bekeek. De eerste versie die gebruikt werd door anderen kwam vroeg in 1995 uit en was bekend als de Personal Home Page Tools. Het bestond uit een erg simpe-le parser die alleen een aantal erg simpele macros kende en een aantal utilities die normaal waren voor home pages in die tijd: Een gastenboek, een tellertje en wat an-dere dingen. De parser is herschreven in midden-1995 en werd genoemd PHP/FI Versie 2. Dit "FI" kwam van een ander pakket dat Rasmus had geschreven welke HTML form gegevens kon verwerken. Hij combineerde de Personal Home Page tools scripts met de Form Interpreter en voegde mSQL support toe. PHP/FI was geboren. PHP/FI groeide ongelooflijk snel en een groot aantal personen stuurde eigen verbe-teringen in. Het is erg moeilijk om harde statistieken te geven, maar er is geschat dat eind 1996 PHP/FI in gebruik was op minimaal 15000 web sites over de hele wereld. In midden-1997 was dit aantal gegroeid tot meer dan 50000. Rond deze tijd was er ook een omslag in de ontwikkeling van PHP. Het veranderde van Rasmus' hobby project tot een project waaraan verscheidene personen hadden bijgedragen. Het werd een meer georganiseerd team. De parser werd herschreven door Zeev Suraski and Andi Gutmans en deze nieuwe parser vormde de basis voor PHP Versie 3. De meeste functionaliteit van PHP/FI werd overgenomen naar PHP 3, maar een groot gedeelte werd totaal herschreven. Tegenwoordig (eind 2000) worden zowel PHP 3 en PHP 4 gedistribueerd bij een groot aantal commercile producten zoals C2's StrongHold web server en RedHat Linux. Een pessimistisch aantal, gebaseerd op een extrapolatie van het aantal gepu-bliceerd door Netcraft (zie ook Netcraft Web Server Survey) geeft aan dat PHP in gebruik is bij meer dan 3.300.000 sites over de hele wereld. In vergelijking, dit is op meer plaatsen dan sites die Netscape's vlaggenschip Enterprise Server gebruiken op het Internet, en komt aardig dicht bij het aantal IIS servers op het Internet (3.8 mil-joen). Sinds enige tijd is er een nieuwe generatie van PHP. Deze gebruikt de krachtige Zend scripting engine om hoge performance te bieden, en ondersteund ook veel meer webservers dan alleen Apache.

  • Basiscursus PHP pagina 3

    ejk2002

    2. Integratie met HTML

    Er zijn vier manieren om HTML en PHP met elkaar te integreren. Van elk van deze methoden zie je hieronder van elk een voorbeeld waarmee je HTM verlaat en over-gaat op PHP-code. De te gebruiken extensie voor bestanden met PHP-code zal doorgaans .php zijn, maar dit is uiteindelijk afhankelijk van de webserver configuratie. 1. 2. 3. echo ("sommige editors (zoals FrontPage) gaan niet zo best om met verwerkingsinstructie s"); 4. voorbeeld 2 Opmerking. De eerste methode is alleen bruikbaar als in de PHP.ini is aangegeven dat de zoge-naamde short tags mogen worden gebruikt. Dit is standaard wel het geval, maar mocht dit niet zo zijn, dan plaats je in het configuratie bestand de regel: short_open_tag = On Werk je met XML, verander de short_open_tag dan wel in Off. De vierde methode is ook alleen beschikbaar indien dit in het ini-bestand aangege-ven is. Dit is standaard niet het geval. ASP gebruikers kunnen dit wijzigen door in het configuratiebestand de regel : asp_tags = Off te wijzigen in asp_tags = On.

  • Pagina 4 Basiscursus PHP

    ejk2002

    3. Instructie scheiding

    In PHP begint elk blok met code met n van de in het voorbeeld genoemde ope-ningstags gevolgd door opdrachten. Na de laatste opdracht volgt de bij de opening horende sluitingstag. Deze opdrachten zullen we verder aanduiden met de engelse term statement. Statements worden van elkaar gescheiden door, net zoals dat het geval is bij C of Perl, elke statement te beindigen met een puntkomma. De tag waarmee de code wordt afgesloten (?>) geeft ook het einde van een regel aan. De onderstaande twee voorbeelden zijn daarom beide correct. voorbeeld 3 Bij het achterwege laten van de puntkomma als scheidingsteken, zal het resultaat een parse error op een bepaalde regel zijn. De fout zal echter meestal terug te vin-den zijn in een regel boven de aangegeven regel. Geeft de server bijvoorbeeld aan: Parse error in line 156, dan zal, indien het gaat om een vergeten puntkomma, de fout doorgaans een regel eerder gemaakt zijn. Overigens betreft uiteraard niet elke parse error een vergeten puntkomma.

  • Basiscursus PHP pagina 5

    ejk2002

    4. Commentaarregels

    PHP ondersteunt 'C', 'C++' en Unix shell commentaar. Bijvoorbeeld: voorbeeld 4 Nog een voorbeeld: Dit is een voorbeeld.

    De tekst hierboven zal weergeven 'Dit is een voorbeeld'. Voorbeeld 5 Genest commentaar kan je liever vermijden. voorbeeld 6 Wil je een zelfgeschreven script verspreiden en voorzien van een inleidend verhaal of uitgebreide opmerkingen, dan kun je het unix hekje gebruiken om een rondom jetekst een kader te maken. ############################################################# # # # Dit script mag vrijelijk worden gebruikt en aangepast, mits # # deze tekst gehandhaafd blijft. Verkoop is niet toegestaan. # # # ############################################################# Dergelijke teksten staan altijd goed boven je scripts, een goede inleiding verhoogt de gebruiksvriendelijkheid en het goe