Jump to content

[PHPlTutorial] Compleet [In Update]


ViceAgent

Recommended Posts

Hey,

Ik heb besloten om een tutorial over PHP te schrijven speciaal voor de leeftijdsgroep 12 - 16, omdat ik er de laatste tijd erg veel vragen over krijg. Natuurlijk kunnen alle leeftijden meelezen, maar ik denk dat het voor de jongere mensen onbegonnen werk is, en voor de oudere mensen misschien wat dubbelop. Nouja, ik hoop dat je er veel van opsteekt; je hebt er wel een tijdje voor nodig. Ik raad je aan om niet alleen dit tutorial door te lezen, maar ook makkelijke scriptjes maakt aan de hand van mijn voorbeelden zodat je het ook een beetje in praktijk kan brengen. Wat ook altijd zin heeft, is de scripts van anderen inkijken (ik zou je naar sites kunnen verwijzen, maar dat doe ik niet, ga zelf op zoek, anders leer je uiteindelijk nog niets!). 'Anyway', succes! :)

In update

PHP - Inhoudsopgave

Als je dit tutorial voor de eerste keer leest, raad ik je aan bij het begin te beginnen. Ben je er al mee bezig geweest, en pik je de draad weer op, dan moet je natuurlijk naar het hoofdstuk gaan waar je gebleven was. Ik raad het af te 'springen' (van hoofdstuk 3 naar 2, of van 2 naar 6, enzovoorts) omdat je dan vaak belangrijke dingen mist, en dat kan lastig zijn. :puh:

1. Inleiding PHP

1.1 Wat is PHP?

1.2 Wat heb je nodig voor PHP?

1.2.1 - Een host instellen (als je voor de server gaat sla dit dan over)

1.2.3 - Een Webserver installeren (als je voor de host gaat sla dit dan over)

--

2. PHP - Basis kennis

2.1 PHP - Voorwoord

2.2 PHP - Tekst weergeven / Openen & Sluiten van een bestand

2.3 PHP - Commentaar

2.4 PHP - Variabelen

Pak er een glas cola bij, we gaan beginnen!

PHP - 1 - Inleiding PHP

Paragraaf 1.1 - Wat is PHP?

Wat is PHP eigenlijk? Waar staat het voor? Wat kun je ermee? PHP staat voor "Hypertext PreProcessor", dit klinkt misschien onlogisch (waarom niet HPP), maar dat komt omdat het vroeger stond voor "Personal Homepage", waarom ze dit niet verandert hebben. Het is een serverside scripttaal. Om uit te leggen wat dit eigenlijk betekend moet je even naar het volgende plaatje kijken.



client.gifBen het plaatje kwijt geraakt ;sad

1 - verschillen client/serverside

Zoals je ziet stuurt een Clientside script meteen de inhoud terug, het is dus sneller dan PHP, maar er zijn ook veel voordelen aan PHP, en daarbij komt dat het snelheidsverschil vaak nauwelijks merkbaar is. Omdat PHP éérst de inhoud van de webserver ophaalt (ofwel, je PHP scripts inleest :puh:), kun je dus een "dynamische" pagina maken. Dit klinkt natuurlijk ingewikkeld, maar het is heel simpel, en het is maar theorie, je hóeft het niet te begrijpen om een script te schrijven. Een dynamische webpagina wil zeggen dat de inhoud verandert. Een goed voorbeeld hiervoor is gtaforum.nl; iedere dag weer nieuwe posts, nieuwe reacties, nieuwe polls, met andere woorden, de content veranderd constant !

Wat kun je hier nu mee? Heel veel! Ik zou bijna zeggen alles. Object georienteerd programmeren (vergeet deze term maar, komen we later op terug, dan zal ik het uitleggen!), rekenen, en nog veel meer! Het duurt natuurlijk wel eventjes voor je het onder de knie hebt, maarja, je moet er wát voor over hebben he! Ik zal een paar voorbeelden geven van programmatjes die in PHP gemaakt kunnen worden/gemaakt zijn.

-- Nieuwsscripts (denk hierbij aan CuteNews)

-- Forumscripts (denk hierbij aan IPB (hierop draait gtaforum), phpBB)

-- Gastenboeken

-- Inlogsystemen

Je kan het zo gek niet bedenken of het is in PHP gemaakt! Vrijwel elke site is met behulp van PHP/ASP (vergeet ASP even) gemaakt. Vaak zie je sites van de overheid/belangrijke bedrijven dit niet doen, om 1 reden: HTML is vele malen veiliger. Op beveiliging kom ik later uitgebreid terug..

Let's go on. :Y

Paragraaf 1.2 - Wat heb je nodig voor PHP?

Mooi, je weet nu wat PHP is, je weet wat je er mee kunt, het klinkt allemaal wel goed, dus je wilt beginnen, maar, wat heb je eigenlijk nodig voor PHP? PHP draaien kan niet zomaar, we maken onderscheid tussen twee manieren om je PHP scripts te draaien, namelijk:

Host : een host is een bedrijf dat je website "host" (dus, je bestanden op het internet zet), dit raad ik aan aangezien het goedkoper en veiliger is dan een eigen webserver. "Huh, maar een webserver kun je toch gratis downloaden en gebruiken?", ja, maar om je computer fulltime aan te laten staan kost veel stroom, meer stroomkosten dus dan dat je kwijt zou zijn aan een hostinbedrijf. Als je vader en moeder de rekening betalen zullen ze er niet blij mee zijn dus.. :puh:

Webserver: Een webserver is zoals het al zegt, een server. Deze kun je installeren op je eigen computer zodat je je scripts ook offline kan testen. Er zit echter wel een beveiligingsrisisco aan, als je hem niet goed configureert, dan kan je PC overgenomen worden door een hacker. Ook zijn de stroomkosten erg hoog. Ik raad dit af.

Op deze twee mogelijkheden gaan we LATER in, laat dit nu dus even met rust

Een FTP Client : FTP staat voor File Transfer Protocol, en zoals de naam al zegt kun je met zo'n programma bestanden naar je host uploaden (oftewel, met een FTP-client kun je de bestanden zoals plaatjes, maar ook textbestanden en scripts op je website zetten, zodat anderen deze kunnen bekijken). Misschien had je het al door, maar dit heb je dus alleen maar nodig als je een host gebruikt. :puh:

Er zijn heel veel van deze programma's, sommige zijn gratis, en voor andere moet je betalen. Wij gaan natuurlijk voor de gratis programma's! Een programma dat ik zelf gebruik heet Smart FTP, dit kun je geheel gratis downloaden vanaf de volgende link: Smart FTP.com. Installeer dit programma,

en ga door met het lezen van deze tutorial. Ik leg straks uit hoe we dit programma gaan gebruiken bij het Host gedeelte. Read on! 8)

Paragraaf 1.2.1 - Een host instellen ( sla dit over als je een server gaat installeren)

Als je bij een Hostingbedrijf "hostspace" koopt, koop je in feite een stukje schijfruimte op het internet; je zou het dus kunnen vergelijken met de map "Mijn Documenten", maar dan op het internet. Er zit echter één belangrijk verschil: de map is voor iedereen bereikbaar via, bijvoorbeeld, jedomein.com of (hostingbedrijf.nl/jenaam/). En nog belangrijker: vaak word PHP ondersteund. Als je op je eigen computer een PHP bestand probeert te bekijken, zal dat niet gaan. Als je hostingspace koopt vaak wel.

Ik ga niet té diep in op hosting; het staat immers los van PHP, maar ik zal toch een aantal links geven die je verder helpen:

+ www.funpic.de - Goede, gratis, host. Helaas wel in het Duits!

+ www.freehostia.com - Gratis host die PHP ondersteunt, Engels.

Voor betaalde hosts kun je altijd even google'n, want ik wil het liefst geen reclame maken (met gratis hostingaanbieders ligt dit wat anders.. :puh:).

Subparagraaf: Smart FTP

Zodra je Smart FTP hebt geïnstalleerd, zie je linksbovenin een aantal velden ("Forms" in HTML/PHP begrippen),

namelijk "Address", "Login", "Password" en "Port". Ik zal dit hieronder even uitleggen:

Address: Het adres van de FTP server, dit is vaak "ftp.domein.com" of gewoon "domein.com", dit kun je altijd navragen bij je host. Als je host via het managementsysteem "cPanel" werkt kun je deze zelf beheren.

Login: Ook het FTP protocol kent gebruikersnamen en wachtwoorden, voer hier de inlognaam van je FTP account in. Als je deze niet kent; kun je er op dezelfde manier achter komen als die hierboven genoemd word.

Password: Het bijbehorende wachtwoord.

Port: De poort waarop het "Address" toegankelijk is, dit is standaard poort "21".

Druk op connect, als je alles goed hebt ingevuld zit je nu in het beheer van je "hostingspace". Je kan als volgt bestanden uploaden:

Commands->Upload->Direct->Select..
Bingo!

Als we het over "CHModden" hebben, bedoelen we het toekennen van rechten aan een bestand/map. Hier ga ik later op in, maar je doet het als volgt:

Rechterknop op bestand/map->Properties/CHMOD->Permissions

Paragraaf 1.2.2 - Een webserver instellen ( sla dit over als je een host gaat installeren)

Hier ga ik niet diep op in, maar je vind hier een uitstekende tutorial. Klik!

Als je deze software geïnstalleerd hebt, kun je op dezelfde manier FTP'en als hierboven uitgelegd staat; mocht je op een fout stuiten, of mocht het niet lukken, kijk dan in de handleiding van je FTP/Webserver programma, en als het even kan kun je me PM'en zodat ik hier mogelijke oplossingen kan plaatsen. Bij voorbaat dank!

--> Inhoudsopgave

Ik ga er van uit dat je een webhost hebt, weet hoe je moet FTP'en en een goede tekstverwerker hebt.

PHP - Basiskennis

Paragraaf 2.1 - Woord vooraf.

Om een PHP bestand op te slaan heb je niets meer nodig dan een tekstverwerker, een tekstverwerker die standaard met Windows® meekomt, is "Notepad" ofwel "Kladblok" in het Nederlands. Deze vind je op de volgende manier: "Start -> Alle programma's -> Bureau-Assecoires -> Kladblok" of, indien je een andertalige computer hebt of de bovenstaande manier niet werkt: " Start -> Uitvoeren (run) -> notepad.exe". Hier kun je je code typen, als je hem op moet slaan, kies je voor "alle extensies" en dan "jebestand.php". De extensie van PHP bestanden is dus, erg orgineel, ".PHP" of ".php". Er zijn ook PHP editors zoals HTML-Kit dat gemaakt is door Chami.

Paragraaf 2.2 - Tekst weergeven / Openen & Sluiten van een bestand

Ik ga deze commando's uitleggen aan de hand van het volgende script:

<?php
 echo "Hoi!"; 
?>

Zoals je ziet staat op het begin van het script de tag "<?php". Hiermee open je een stuk PHP code, of, in andere woorden, hiermee laat je de internetbrowser weten dat er een PHP script gaat volgen, zodat dit als een PHP code verwerkt kan worden en niet als JavaScript, HTML, of andere talen. Deze tag kan overigens vervangen worden door "<?". Aan het einde van de code staat de tag "?>". Hiermee laat je de webbrowser weten dat het stuk PHP code, geopend door <?php, beeindigt is. Let op, je kan de tag php?> niet gebruiken! :)

In het midden staat het commando "echo". Met het echo commando kun je tekst weergeven, let er op dat je je tekst binnen de quotes (" of ') moet zetten, en vervolgens het commando af moet sluiten met het ; teken. Je kunt zowel " als ' gebruiken als quotes, vaak word echter de enkele quote (') verkozen boven de (").

Paragraaf 2.3 - Commentaar

Naar mate je meer ervaren wordt in programmeren en met grotere projecten begint te werken zal het gebruik van commentaar je werk erg verlichten. Je kunt namelijk hints neerzetten, of waar iets voor dient, of gewoon een groet aan je collega's of een copyright noot. Er zijn 3 manieren om commentaar te plaatsen, namelijk:

<?php
// Ik ben er wel maar je ziet me niet!
?>

De tekst achter de "//" wordt gerekend tot commentaar. Dus alles wat op dezelfde regel, achter de "//" staat wordt niet meegerekend in het script, maar je kan er wel van alles kwijt. Op naar de volgende manier!

<?php
/* Hallo, ik heet Barend, maar ik word ook wel 
 ViceAgent genoemd op sommige fora */
?>

Zoals je ziet kun je met de "/*" manier van commentaar geven, commentaar geven over meerdere regels. Alles wat na de "*/"-tag komt wordt meegerekend als commentaar, en dus niet geparsed, totdat het commentaar wordt afgesloten met de "*/" tag. De laatste manier dan!

<?php
#Ik ben een commentaar!
?>

Deze manier van commentaar geven is gelijk aan de 1e besproken manier, hier ga ik verder niet op in dus. :puh:

Paragraaf 2.4 - Variabelen

Een groot deel van de kracht van PHP zit hem in de variabelen. In variabelen kun je data opslaan en die later veranderen/oproepen. Ik kan het niet duidelijker uitleggen dan in een script! "So here we go!"

<?php
$naam = "Kees de boer";
  echo 'Mijn naam is ' . $naam;
?>

In dit voorbeeld is $naam de variabele, zoals je ziet definieer je een variabele door er een '$ teken voor te zetten, gevolgd door de naam van de variabele. Je mag geen spaties gebruiken in de naam, maar wel underscores (Dat is dit: _ ). Vervolgens plaats je een spatie gevolgd door een = teken, weer een spatie en dan de inhoud van de variabele, in dit geval Kees de boer. Let op dat je de inhoud van de variabele ook weer tussen " quotes moet zetten!

Daarna zetten we neer "Mijn naam is Kees de boer", wat meteen opvalt is dat de variabele niet tussen quotes staat. Een variabele zelf staat nooit tussen quotes! (Met wat uitzonderingen in MySQL) Wat ook opvalt is de

"." die voor de variabele staat. Om een gewone lap tekst (in dit geval "Mijn naam is") aan een variabele te verbinden moet er een . voor staan. Dit geld ook als je 2 variabelen met elkaar verbinden wil. Voorbeelden:

<?php 
 $naam = "Kees de Boer";
 $tekst = "Ze noemen me ";
  echo "Ze noemen me " . $naam;
  echo $tekst . $naam;
?>

Bijde "echo" commando's zullen hetzelfde outputten. Ohja, je kan binnen de echo commando's gewoon HTML gebruiken! Dus "echo "<b>Hoi!</b>";" zal dikgedrukt "Hoi!" weergeven.

Volgende reeks tutorials is in update!

Bewerkt: door ViceAgent
Link to comment
Delen op andere websites

--> Inhoudsopgave

Ik ga er van uit dat je een webhost hebt, weet hoe je moet FTP'en en een goede tekstverwerker hebt.

PHP - Basiskennis

Paragraaf 2.1 - Woord vooraf.

Om een PHP bestand op te slaan heb je niets meer nodig dan een tekstverwerker, een tekstverwerker die standaard met Windows® meekomt, is "Notepad" ofwel "Kladblok" in het Nederlands. Deze vind je op de volgende manier: "Start -> Alle programma's -> Bureau-Assecoires -> Kladblok" of, indien je een andertalige computer hebt of de bovenstaande manier niet werkt: " Start -> Uitvoeren (run) -> notepad.exe". Hier kun je je code typen, als je hem op moet slaan, kies je voor "alle extensies" en dan "jebestand.php". De extensie van PHP bestanden is dus, erg orgineel, ".PHP" of ".php". Er zijn ook PHP editors zoals HTML-Kit dat gemaakt is door Chami.

Paragraaf 2.2 - Tekst weergeven / Openen & Sluiten van een bestand

Ik ga deze commando's uitleggen aan de hand van het volgende script:

<?php
 echo "Hoi!"; 
?>

Zoals je ziet staat op het begin van het script de tag "<?php". Hiermee open je een stuk PHP code, of, in andere woorden, hiermee laat je de internetbrowser weten dat er een PHP script gaat volgen, zodat dit als een PHP code verwerkt kan worden en niet als JavaScript, HTML, of andere talen. Deze tag kan overigens vervangen worden door "<?". Aan het einde van de code staat de tag "?>". Hiermee laat je de webbrowser weten dat het stuk PHP code, geopend door <?php, beeindigt is. Let op, je kan de tag php?> niet gebruiken! :)

In het midden staat het commando "echo". Met het echo commando kun je tekst weergeven, let er op dat je je tekst binnen de quotes (" of ') moet zetten, en vervolgens het commando af moet sluiten met het ; teken. Je kunt zowel " als ' gebruiken als quotes, vaak word echter de enkele quote (') verkozen boven de (").

Paragraaf 2.3 - Commentaar

Naar mate je meer ervaren wordt in programmeren en met grotere projecten begint te werken zal het gebruik van commentaar je werk erg verlichten. Je kunt namelijk hints neerzetten, of waar iets voor dient, of gewoon een groet aan je collega's of een copyright noot. Er zijn 3 manieren om commentaar te plaatsen, namelijk:

<?php
// Ik ben er wel maar je ziet me niet!
?>

De tekst achter de "//" wordt gerekend tot commentaar. Dus alles wat op dezelfde regel, achter de "//" staat wordt niet meegerekend in het script, maar je kan er wel van alles kwijt. Op naar de volgende manier!

<?php
/* Hallo, ik heet Barend, maar ik word ook wel 
 ViceAgent genoemd op sommige fora */
?>

Zoals je ziet kun je met de "/*" manier van commentaar geven, commentaar geven over meerdere regels. Alles wat na de "*/"-tag komt wordt meegerekend als commentaar, en dus niet geparsed, totdat het commentaar wordt afgesloten met de "*/" tag. De laatste manier dan!

<?php
#Ik ben een commentaar!
?>

Deze manier van commentaar geven is gelijk aan de 1e besproken manier, hier ga ik verder niet op in dus. :puh:

Paragraaf 2.4 - Variabelen

Een groot deel van de kracht van PHP zit hem in de variabelen. In variabelen kun je data opslaan en die later veranderen/oproepen. Ik kan het niet duidelijker uitleggen dan in een script! "So here we go!"

<?php
$naam = "Kees de boer";
  echo 'Mijn naam is ' . $naam;
?>

In dit voorbeeld is $naam de variabele, zoals je ziet definieer je een variabele door er een '$ teken voor te zetten, gevolgd door de naam van de variabele. Je mag geen spaties gebruiken in de naam, maar wel underscores (Dat is dit: _ ). Vervolgens plaats je een spatie gevolgd door een = teken, weer een spatie en dan de inhoud van de variabele, in dit geval Kees de boer. Let op dat je de inhoud van de variabele ook weer tussen " quotes moet zetten!

Daarna zetten we neer "Mijn naam is Kees de boer", wat meteen opvalt is dat de variabele niet tussen quotes staat. Een variabele zelf staat nooit tussen quotes! (Met wat uitzonderingen in MySQL) Wat ook opvalt is de

"." die voor de variabele staat. Om een gewone lap tekst (in dit geval "Mijn naam is") aan een variabele te verbinden moet er een . voor staan. Dit geld ook als je 2 variabelen met elkaar verbinden wil. Voorbeelden:

<?php 
 $naam = "Kees de Boer";
 $tekst = "Ze noemen me ";
  echo "Ze noemen me " . $naam;
  echo $tekst . $naam;
?>

Bijde "echo" commando's zullen hetzelfde outputten. Ohja, je kan binnen de echo commando's gewoon HTML gebruiken! Dus "echo "<b>Hoi!</b>";" zal dikgedrukt "Hoi!" weergeven.

Volgende reeks tutorials is in update!

Link to comment
Delen op andere websites

  • 1 year later...

Mooie tuturial! Zeker goed voor beginners zoals mij. ^_^

Maar ik heb een probleempje met de SmartFTP, ik kon op men vorige computer al bestanden uploaden met FileZilla, maar ik denk dat ik met die stomme Vista nu minder kan. :duh:

Hij kan zo gezegt geen verbinding met men computer maken.

De login en adress gegevens zijn zeker juist.

freehostiaftpsl0.jpg

freehostiaftp1pp6.jpg

Link to comment
Delen op andere websites

Er zal wel iets fout zijn hoor... ik zou ze toch nog eens nakijken en probeer eventueel ook eens met smartF*TP in te loggen op een andere F*TP server om te zien of het niet aan smartF*TP/jouw (manier waarop je het invult kan misschien iets anders zijn bij smartF*TP) ligt.

Zeker dat je voor het server adres f*tp:// hebt staan. En het kan ook zijn dat je inlognaam iets is met @ dus bijvoorbeeld naam@domein.be dus kijk je gegevens ook nog eens na op de site van freehostia.

Delete alle *'s want de server van GTAForum.nl laat het woord F TP niet toe. :N

Link to comment
Delen op andere websites

Hoi,

Leuk dat je nog een reactie op m'n tutorial plaatst! Ook al stamt hij uit de oertijd van gtaforum :D Ik zou eerst proberen te doen/controleren wat Argon zegt. Hij geeft aan dat hij de server niet kan bereiken, wat 2 dingen kan betekenen.

1) De doelcomputer heeft een firewall of router die zó is geconfigureerd dat hij de verzoeken van Smart×FTP weigert. In dat geval moet je contact op nemen met Freehostia dat er kennelijk iets mis is met de server. (Dit lijkt me sterk, maar je weet maar nooit!)

2) Smart×FTP heeft geen rechten om tot het internet te verbinden. Los dit ook op door je firewall goed te configureren. Lukt dit ook niet? Probeer dan eens naar een andere server te verbinden om te kijken of het wel werkt. Dan weet je zeker dat het bij de andere computer ligt.

Ten slotte kun je nog een andere programma proberen zoals FilZilla.

Bewerkt: door ViceAgent
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...