Kennismaking met PHP

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Voorwoord:
    Vanaf vandaag zal ik regelmatig blogs posten waar je kan leren PHP gebruiken. Ik zal beginnen met de basis en dit stap voor stap proberen uit te leggen. Voor velen is PHP gemakkelijk en zullen hier op het begin niet veel uit leren. Maar later zal je hier hopelijk wel uit leren. Suggesties waarover ik een volgende PHP blog zou kunnen maken mogen naar mij gestuurd worden via PM.


    Wat is php?
    Php is voluit “PHP: Hypertext Preprocessor” dat is een server-side taal. Dit wilt zeggen dat de code die geschreven is geweest uitgevoerd word op de server. Van zodra het de internet browser bereikt is de code dus al uitgevoerd. De code die de browser krijgt is vaak in HTML. Zo kan geen enkele persoon je PHP code zien.

    Fouten:
    Bij het leren van PHP zal je veel fouten tegenkomen. Dit is volledig normaal! Bij het lezen van de foutcode kan je al veel fouten oplossen. Ga dus niet direct bij elke foutcode denken dat je het niet kan. Elke Programmeur komt fouten tegen, dit is dus volledig normaal. Later help ik je met enkele voorbeelden van foutcodes om dit allemaal te leren begrijpen.

    Denkwijze:
    Denk nooit: ze zullen het wel op de correcte manier gebruiken.
    Denk altijd omgekeerd! Hoe zorg ik ervoor dat alles veilig is? Dat ze het niet kunnen misbruiken? Hoe maakt ik het gebruiksvriendelijk? Als je de PHP code kunt misbruiken zullen ze dit zeker doen! Beter voorkomen dan genezen…. (meer hierover bij Lekken/bugs)

    Lekken/bugs:
    Er zijn helaas ook kwaadaardige personen in de wereld die altijd achter lekken zoeken op een website. Zorg er dus voor dat je hun altijd voor bent en het dus zo veilig mogelijk maakt! Dit kan je doen door verschillende controles te maken.

    Om een klein voorbeeld te geven:

    Als je een script hebt waarin je een huisnummer moet invoeren kan je in dit geval controleren of het een nummer is dat ingevoerd word en niets anders. Pas als het enkel cijfers zijn zou je het formulier kunnen laten werken. Anders geef je een melding dat er iets verkeerd is. (later meer hierover).

    Testomgeving:
    Het is altijd beter dat je je PHP scripts altijd test vooraleer je ze online plaatst voor je “klanten”. Dit om zeker te kunnen zijn dat alles werkt zonder problemen. Beter 1x teveel getest dan 1 keer te weinig waardoor je alles van data kwijt bent…

    Er zijn verschillende manieren om alles testen. Ik geef je enkele voorbeelden:

    (Na het downloaden en installeren moet je de software nog instellen)

    Software:
    De PHP scripts eindigen (logisch) op ‘.php’. je kan ze openen met kladblok (rechtermuisknop op het bestand en kies openen met, zoek daarna kladblok). Natuurlijk kan je dit ook omgekeerd! Een kladblok openen en je php schrijven. Daarna opslaan met de juiste extentie.

    GELUKKIG bestaan er programma’s die je wat voorruit kunnen helpen! Ik geef je 2 voorbeelden (er zijn er natuurlijk nog!)
    Notepad++ is gratis, Dreamweaver helaas niet. Deze programma’s helpen je bij het vinden van fouten, helpen je ondersteunen. Hoe de programma’s werken zal je het best zelf leren ontdekken. Anders kan ik nog veel blogs schrijven over ieder programma. Maar persoonlijk gebruik ik het liefst Dreamwevaer.

    Code:
    PHP code word altijd geschreven in de PHP tags, je hebt 2 manieren om het te openen:

    Manier 1:

    PHP Source Code

    1. <?php
    2. // Je opent hierboven
    3. // Sluiten
    4. ?>

    Manier 2:

    Source Code

    1. <? // Je opent dus met short tags, niet alle webhosts ondersteunen dit ?>


    Dit moet altijd geopend worden voor het uitvoeren van PHP en op het einde gesloten. Anders krijg je foutmeldingen of code die zichtbaar word. Alle servers die PHP ondersteunen ondersteunen de <?php tag, ¾ ondersteunt de schort tag (<?). Het is dus altijd beter om de <?php tag te schrijven. Die gaan we dus in mijn tutorials gebruiken.

    PHP error reporting:
    Als beginnende scripter is het dus handig dat de error reporting aan staat! Je hebt verschillende manieren van error reporting. Bij de programma’s die je eerder kreeg kan je dit aanzetten. Ook op je server. Lees dus goed waar je dit kan doen…


    Als je dit in het PHP script zelf wilt aanzetten kan dit door de code bovenaan het script te plaatsen in de PHP tags. De meestgebruikte is:

    Source Code

    1. error_reporting(E_ALL);
    2. ini_set('display_errors', 1);



    De eerste toont alle PHP code behalve de “hulpmiddels/waarschuwingen”. Dit wilt zeggen dat als je bijvoorbeeld in een formulier maar de verplichte velden invult en je het formulier verstuurt je zo een foutmelding krijgt. Een foutmelding omdat bijvoorbeeld die velden leeg gepost worden ( wat dus in dit geval wel mocht -> niet echt een foutmelding maar wel een verwittiging). Die gebruik ik altijd. Natuurlijk zijn er nog verschillende soorten. Maar die leg ik later wel eens uit

    Slotwoord:

    Indien je iets niet weet wat te doen met de code, je een fout hebt die je maar niet opgelost krijgt, je rappere manieren zoekt,…
    Je kan deze vragen altijd stellen op ICT Scripters. Vele andere scripters zullen jou met plezier helpen! Veel plezier als beginnende scripter.

    1,356 times read

Comments 6

  • FangorN -

    "De code die de browser krijgt is in HTML"

    Niet per se. De invoer in een PHP-script is PHP-code, maar de uitvoer is lang niet altijd HTML. Met PHP kun je ook andere bestandstypen als mogelijke "uitvoer" (Content-Type) genereren. Denk aan afbeeldingen (gif, jpg et cetera), PDF, CSV, JSON. Ook kan PHP als doorvoerstation voor het aanbieden van complete applicaties dienen (die ter download aangeboden worden).

    Doorgaans is het niet de bedoeling dat de broncode zelf rechtstreeks in te zien is via de browser, alleen het resultaat (de uitvoer) hiervan zou de buitenwereld ingestuurd moeten worden. Als je toch onverhoopt je broncode in je browser ziet duidt dit meestal op een verkeerde configuratie van je webserver of een gebruik van korte openingstags terwijl deze instelling (short_open_tag) uit staat.

    • Aaron -

      De broncode worde word in geen enkele browser rechtstreeks getoont. Dat word door de browser omgezet.

      De basis is en blijft altijd html doorsturen. Ook al is het een file of dergelijk. De commando moet gegeven worden dat het een file is en dit gebeurt in html ( dit zie je uiteraard niet)

      Maar waar jij dus al over begint te praten is al verder gevorderd. Dit is nu totaal nog niet rellevant

    • FangorN -

      Ik denk dat je het goed bedoelt, maar (hier) verkeerd verwoordt. Er wordt niets in de browser omgezet, behalve als je wellicht bedoelt dat HTML als een webpagina weergegeven wordt in je browser. Zoals je zelf aangeeft: PHP is een serverside scripting taal. Alles wat aan output wordt geproduceerd (en van welke type deze output is) wordt aan de serverkant gegenereerd (en bepaald), vervolgens stuurt de webserver de uitvoer van het script naar de buitenwereld (doorgaans een browser).

      "De basis is en blijft altijd html doorsturen. Ook al is het een file of dergelijk. De commando moet gegeven worden dat het een file is en dit gebeurt in html ( dit zie je uiteraard niet)"
      Ik denk dat je hier HTML en HTTP door elkaar haalt. Datgene wat je ontvangt is lang niet altijd HTML. HTML is mogelijk wel het standaard Content-Type (het standaard uitvoertype) wat PHP hanteert. Als je simpelweg "hello world" print op je scherm middels PHP, dan zal de webserver dit serveren als een simpel (maar eigenlijk syntactisch incorrect) HTML-document.
      HTTP (de "drager" van de data) vertelt hoe een browser de ontvangen data zou moeten interpreteren. HTTP vertelt de browser in feite hoe deze met de ontvangen uitvoer om zou moeten gaan.

      Dit alles is in die zin relevant dat je, als je een voor sommigen compleet nieuw onderwerp aansnijdt, dit zo simpel mogelijk moet doen, maar niet simpeler. Met andere woorden, het is funest om minimale informatie achter te houden of informatie onjuist te presenteren. Ik kom hier misschien muggezifterig over, maar dit soort uitleg zou glashelder en ondubbelzinnig moeten zijn anders vertrek je al op de verkeerde voet.

      Zie het niet zozeer als kritiek maar meer als aanvullende informatie.

    • Aaron -

      Om jou maar even tevreden te stellen heb ik dat erbij gevoegd. De "hello world" tutorial komt later. Het is beter alles stap voor stap uit te leggen. Niet beginnen lopen als ze nog niet kunnen wandelen.

    • FangorN -

      Daar gaat het mij echt niet om. Het gaat erom dat informatie correct is. Vervolgens is het ook heel moeilijk om een verkeerde voorstelling van zaken de wereld uit te helpen. Je moet het zo zien: deze site geniet een zekere autoriteit. Als jij hier een artikel schrijft dan lift deze in zekere zin mee op die autoriteit. Daar is niets mis mee, maar dat kan tot gevolg hebben dat minder goed geinformeerde lezers deze teksten en instructies als zoete koek slikken en wellicht minder kritisch zijn dan wanneer ze dit soort informatie uit een andere bron halen.

      Daarom is het jouw taak en de verantwoordelijkheid van de meer gevorderde lezers van deze site om te waken voor het verkondigen van onjuistheden en het waarborgen van een zekere kwaliteit van het geschrevene. Het is onze taak (op het moment dat je een blog schrijft) om het beter te weten. Vervolgens is het de kunst dat je je gedachtengoed op een begrijpelijke manier kunt overbrengen aan je publiek: zo simpel mogelijk, maar niet simpeler.

      Ik zeg dan ook niet dat je hele moeilijke uiteenzettingen moet gaan doen over webservers en het HTTP, maar enige voorkennis (van hoe het internet werkt) wordt wel verwacht. Daar kun je dan op voortborduren, bijvoorbeeld met een plaatje van wat er gebeurt vanaf het moment dat een webpagina wordt opgevraagd tot het moment dat de opvrager het resultaat in zijn browser ziet en hoe dit afwijkt van het opvragen van een statische HTML pagina. Dit laatste ontbreekt ook: *wat kun je doen met PHP*, of in zijn algemeenheid, met een serverside scripting taal, wat is de meerwaarde? Wanneer je overstapt van enkel statische HTML naar PHP dan stelt dit je (onder andere) in staat om dynamische websites te maken met meer gebruikersinteractie. Daarbij kun je voorbeelden noemen als: contactformulieren of forums. Dat lijkt mij een goede teaser voor lezers die tot voor kort enkel statische websites maakten en nu wellicht denken "dit wil ik ook (kunnen)". Je maakt het niet echt aannemelijk waarom je naar PHP zou grijpen als middel en tot welk doel... Je kunt wel zeggen "we gaan lopen", maar mijn eerste vraag zou dan zijn "waar naartoe?".

      Wanneer ik het bovenstaande artikel lees krijg ik de indruk dat deze erg rap is geschreven. Deze tekst kan nog wel wat iteraties gebruiken waarbij wat meer rekening gehouden mag worden met het beoogde publiek.

    • Tim -

      Ik moet hierbij FangorN gelijk geven.

      PHP doet niks anders dan logische acties uitvoeren op de server. Één van de acties die PHP kan doen is bij het versturen van de headers naar de client, content meesturen. Deze content KAN HTML zijn. De content standaard hangt echter af van wat er op de server is ingesteld. PHP kan zoals aangehaald is ook XML, PDF etc als output genereren. Of gewoon standaard tekst.

      Dit is niet om "Zo kan geen enkele persoon je PHP code zien.", want dat kan nooit tenzij jij dat zelf (foutief) instelt. PHP code is standaard niet zichtbaar, het doet immers enkel logische acties en enkel aan de server kant, iets wat de client nooit ziet. Tenzij jij dus zelf er (foutief) voor kiest om de PHP code als output te generen naar HTML, txt of evt. iets anders.