login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP script beginnen (Opgelost)

Offline Darklevi - 13/07/2011 11:12
Avatar van DarkleviLid Beste Leden,

Ik heb al een xx aantal keer de tutorials over PHP doorgelezen en uitgevoerd.
Nu wil ik graag een begin maken of er zo nog meer van te leren.

Ik wil iets simpels creeeren, waar ik veel kennis van op kan doen.
Ik dacht zelf aan een contact formulier zonder verzenden, maar misschien is dit ook wel te hoog gegrepen. Wie zou me verder kunnen hebben.

Ik ken de basis principes.

13 antwoorden

Gesponsorde links
Offline StefanH - 13/07/2011 11:32
Avatar van StefanH Lid Nou begin eens met een loopje(bijv. for) waarmee je een dropdownlist vult.
Bedankt door: Darklevi
Offline mwthomas - 13/07/2011 11:39
Avatar van mwthomas Lid Als je de tuturials volgt op deze site kun je achteraf makkelijk een contactformulier/inlogsysteempje maken.
Offline WouterJ - 13/07/2011 12:06
Avatar van WouterJ HTML gevorderde Je kan wel het beste beginnen met een contact formulier. Kijk of het verzonden is, kijk of alles is ingevuld en echo dan de gegevens mooi op de pagina.
Zodra je dat hebt gedaan en snapt kun je gaan beginnen met het mailen van de gegevens.
Als je iets niet weet gewoon even opzoeken. En als het scriptje af is laat het gewoon even controleren hier op het forum, weet je meteen zeker dat je op het goede spoor zit.

Maak daarna van dit contact formulier een gastenboek. Sla de gegevens op in een tabel en haal de gegevens weer uit de tabel om het te tonen.

Zodra je gastenboek helemaal goed werkt en goed is kun je gaan uitbreiden naar een log in systeem. Dan leer je meteen wat SQL en je kan dit weer koppelen aan gastenboek, bijv. alleen leden mogen posten.
Langzamerhand kun je dit dan steeds meer uitbreiden naar een CMS systeem.

Doe het vooral gewoon rustig aan en zoek goed op google en als je er echt niet uitkomt kun je het hier altijd vragen. Laat je scripts ook goed controleren, eventueel mag je mij daarvoor wel emailen 
Offline Martijn2008 - 14/07/2011 00:47
Avatar van Martijn2008 PHP beginner Het beste kun je een aantal tutorials doorlezen, alvorens je begint met programmeren. Zie deze pagina eens.
Offline Darklevi - 14/07/2011 16:40 (laatste wijziging 15/07/2011 14:14)
Avatar van Darklevi Lid @ Martijn.
Die pagina's heb ik al een aantal keren doorgenomen.

@ Waldio, ik ga er dit weekend mee aan de slag en post het wanneer ik denk dat het af is.

@ Lezers, Gister en vandaag mee bezig geweest. Else is gebruikt al leerstof. Script is nog niet helemaal af. CSS heb ik een standaard file gebruikt en deze aangepast.

Website: http://www.scripterszone.nl/levi/formulier.php

  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="/levi/style.css" />
  4. <title>Mijn eerste contact pagina, zonder verzenden</title></head>
  5. <body>
  6. <h3>Graag dit formulier invullen voor registratie</h3><br />
  7.  
  8. <?php
  9. $errors = array();
  10. $goed = array();
  11. $pc = array();
  12. $skilss = array();
  13.  
  14. if (isset($_POST['verzenden'])) {
  15. if ($_POST['naam'] == "") {
  16. $errors[] = 'Uw naam is niet ingevuld, vul nogmaals uw naam in';
  17. } else {
  18. $goed[] = 'Uw naam is correct ingevuld';
  19.  
  20. }
  21.  
  22. if ($_POST['achternaam'] == "") {
  23. $errors[] = 'Uw achternaam is niet ingevuld, vul nogmaals uw achternaam in';
  24. } else {
  25. $goed[] = 'Uw achternaam is correct ingevuld';
  26. }
  27.  
  28. if ($_POST['nickname'] == "") {
  29. $errors[] = 'Uw gebruikersnaam is niet ingevuld, vul nogmaals uw gebruiksnaam in.';
  30. } else {
  31. $goed[] = 'Uw gebruikersnaam is correct ingevuld';
  32. }
  33.  
  34. if ($_POST['leeftijd'] == "") {
  35. $errors[] = 'Uw leeftijd is niet ingevuld, vul nogmaals uw gebruiksnaam in.';
  36. } else {
  37. if (ctype_digit($leeftijd)) {
  38. $goed[] = "Je hebt cijfers ingevoerd";
  39. } else {
  40. $goed[] = "Je heb niet alleen maar cijfers ingevuld!";
  41.  
  42. }
  43. }
  44.  
  45. if ($_POST['scripttaal'] == "") {
  46. $errors[] = 'Uw heeft geen checkbox ingevuld, vul nogmaals de checkbox in.';
  47. } else {
  48. $goed[] = 'Uw scripttaalkennis is correct ingevuld';
  49. }
  50.  
  51. if ($_POST['pc'] == "") {
  52. $errors[] = 'Uw heeft geen checkbox ingevuld, vul nogmaals de checkbox in.';
  53. } else {
  54. $goed[] = 'Uw besturingsysteem is correct ingevuld';
  55. }
  56.  
  57. if ($_POST['skilss'] == "") {
  58. $errors[] = 'Uw heeft geen checkbox ingevuld, vul nogmaals de checkbox in.';
  59. } else {
  60. $goed[] = 'Uw skilss zijn correct ingevuld';
  61. }
  62.  
  63. if ($_POST['ervaring'] == "") {
  64. $errors[] = 'Uw heeft geen radiobutton ingevuld, vul nogmaals de radiobutton in.';
  65. } else {
  66. $goed[] = 'Uw ervaring is toegevoegd, bedankt voor uw medewerking.';
  67. }
  68. // Nu de variable error niet aan is gemaakt
  69.  
  70. foreach($errors as $error) {
  71. print $error.'<br />';
  72. }
  73.  
  74. foreach($goed as $item) {
  75. print $item.'<br />';
  76. }
  77.  
  78. foreach($skilss as $skills) {
  79. print $skills.'<br />';
  80. }
  81.  
  82. foreach($pc as $computer) {
  83. print $computer.'<br />';
  84. }
  85.  
  86.  
  87. }
  88. ?>
  89. <form method="post" action="">
  90. <table border="0" cellspacing="0">
  91. <tr>
  92. <td>Naam:</td>
  93. <td><input name="naam" type="text" size="20" maxlength="10" value="" /></td>
  94. </tr>
  95. <tr>
  96. <td>Achternaam:</td>
  97. <td><input name="achternaam" type="text" size="20" maxlength="20" value="" /><td/>
  98. </tr>
  99. <tr>
  100. <td>Nickname:</td>
  101. <td><input name="nickname" type="text" size="20" maxlength="20" value="" /></td>
  102. </tr>
  103. <tr>
  104. <td>Leeftijd:</td>
  105. <td><input name="leeftijd" type="text" size="20" maxlength="2" value="" /></td>
  106. </tr>
  107. </table><br /><hr /><br />
  108.  
  109. <i>Vermeld uw scripttalenkennis</i>
  110. <input type="checkbox" name="scripttaal[]" value="html">HMTL
  111. <input type="checkbox" name="scripttaal[]" value="css">CSS
  112. <input type="checkbox" name="scripttaal[]" value="php">PHP
  113. <input type="checkbox" name="scripttaal[]" value="c">C
  114. <input type="checkbox" name="scripttaal[]" value="javascript">Javascript<br /><br />
  115.  
  116. <i>Vermeld uw besturingssyteem</i>
  117. <input type="checkbox" name="pc[]" value="xp">XP
  118. <input type="checkbox" name="pc[]" value="vista">Vita
  119. <input type="checkbox" name="pc[]" value="windows7">Windows 7
  120. <input type="checkbox" name="pc[]" value="linux">Linux
  121. <input type="checkbox" name="pc[]" value="mac">Mac OS<br /><br />
  122.  
  123. <i>Vermeld uw webmaster skills</i>
  124. <input type="checkbox" name="skilss[]" value="beheren">Beheren
  125. <input type="checkbox" name="skilss[]" value="design">Designen
  126. <input type="checkbox" name="skilss[]" value="scripten">Scripten
  127. <input type="checkbox" name="skilss[]" value="seo">SEO
  128. <input type="checkbox" name="skilss[]" value="promo">Promotie
  129. <input type="checkbox" name="skilss[]" value="anders">Anders<br /><br /><hr /><br />
  130.  
  131. <p><i>Wij vragen uw graag om uw mening te geven</i></p>
  132. <input type="radio" name="ervaring" value="on">De registratie verliep snel
  133. <input type="radio" name="ervaring" value="off">De registratie verliep niet snel<br /><br />
  134.  
  135. <input type="submit" name="verzenden" value="verzenden">&nbsp;&nbsp;
  136. <input type="reset" value="Leeg maken">
  137.  
  138. </form>
  139. </body>
  140. </html>
Offline WouterJ - 15/07/2011 18:24
Avatar van WouterJ HTML gevorderde Even een HTML puntjes. Zet boven de <html> een geldig doctype.

Verder raad ik aan om PHP boven het doctype te zetten, dus helemaal bovenin.

I.p.v. if (isset($_POST['verzenden'])) { kun je beter if($_SERVER['REQUEST_METHOD'] == 'POST') gebruiken.

I.p.v. kijken of een veld leeg is met == '' kun je beter de php functie PHP.net: empty gebruiken.

Een error kan je -vind ik- het best in een list echoen. (dus met <ul> en <li>). Probeer dit eens toe te voegen.

Je weet niet of er een error is. Kijk of $error leeg is (weer met empty) en ga dan pas verder met het verwerken van het formulier.

Van de rest ziet het er goed uit!
Offline Emonk - 15/07/2011 20:46 (laatste wijziging 15/07/2011 20:49)
Avatar van Emonk Lid Beginnen met een contactformulier? Nee, doe dat maar niet. Dat is namelijk heel veel hetzelfde: gewoon $_POST["veld"] uitlezen. Je ziet het daarboven al, het lijkt allemaal op elkaar. Niet leuk en je leert er vrij weinig van.

Ga liever eens wat kleine dingetjes met rekenen en variabelen (ook arrays) uitproberen. Bijvoorbeeld:
Maak een script wat een tabelletje maakt als volgt:

  1. ^ 01 02 03 04 ...
  2. 01 1 1 1 1 ....
  3. 02 2 4 8 16 ....
  4. 03 3 9 27 81 ....
  5. ....


Oftewel, machten! Reken eerst de machten uit (for-lus) en zet ze in een meerdimensionale array. Lees daarna met een foreach lus de array uit en zet ze in een tabel.
Leer je veel meer basis van dan van een contactformulier!

Ook leuk is iets met datum en tijd te doen, gebruik dan date(), time() en mktime(). Combineer het met een formulier: de gebruiker voert zijn geboortedatum in (dagen, maanden, jaren in ieder geval eerst in afzonderlijke velden) en dan geeft het script weer hoe oud je bent, of hoeveel dagen het nog is tot je verjaardag.

Succes ;)
Offline WouterJ - 15/07/2011 23:29
Avatar van WouterJ HTML gevorderde Vergeet dan nog niet bij datum het mooie Datetime object te noemen.
Offline ikki007 - 16/07/2011 02:05
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Waldio, empty() zal ook bij de waarde "0" en "0.0" true geven, het is dus soms echt handiger om == '' te gebruiken  
Offline Martijn2008 - 17/07/2011 22:00 (laatste wijziging 17/07/2011 22:10)
Avatar van Martijn2008 PHP beginner Daarvoor is PHP.net: isset bedacht. Die returnt false als een een waarde null of niet geset is.

  1. <form action="" method="post">
  2. Message: <input type="text" name="message" /><br />
  3. <input type="submit" name="submit" value="submit" />
  4. </form>
  5.  
  6. <?php
  7.  
  8. // Controleer of er op de submit button is gedrukt.
  9. if(isset($_POST['submit']))
  10. {
  11. // Er is op de submit button gedrukt.
  12. // Controleer of er een message(waarde) met de POST is verstuurd
  13. if(isset($_POST['message']) && !empty($_POST['message']))
  14. {
  15. // Print resultaat naar het scherm
  16. echo "Message bevat de volgende waarde" . $_POST['message'];
  17. }
  18. else
  19. {
  20. // Waarde message(POST) is leeg.
  21. echo "Post waarde van message is leeg";
  22. }
  23. }
  24.  
  25. ?>
Offline Darklevi - 18/07/2011 13:03
Avatar van Darklevi Lid Bedankt voor de tip Emonk. Ik ga ermee aan de slag.
Offline anton - 18/07/2011 19:16
Avatar van anton Lid Op zich zijn alle scriptjes goed om dingen bij te leren, vind ik toch.

Bij een contactformuliertje leer je omgaan met invoer van een gebruiker, en bij de machten ga je dieper in op arrays.

Ik heb PHP op dezelfde manier geleerd, maar veel te overhaast aan begonnen, maar dat terzijde leerde ik bij van elk script dat ik ooit maakte 

Groetjes
Anton
Offline svm - 26/07/2011 16:50
Avatar van svm PHP ver gevorderde Ik ben zelf begonnen met een forum te maken.
Dit klinkt als een groot project, maar al het groots begint klein.
Een forum kun je immers opdelen in verschillende onderdelen/modules.
Denk hierbij aan een formulier dat je verwerkt, login systeem, beheer gedeelte; je kunt meerdere categorien aan gaan maken, laten mensen een avatar laten uploaden, per mail op een topic laten abonneren etc.
Dit hoeft dus echt niet allemaal in een keer, maar als je klein begint zal je kennis snel vorderen en dingen blijven terug komen waardoor je herhaald.
In eerste instantie heb ik dit oefenforum gemaakt met een bestandssysteem als opslag methode, dus alles in losse tekst bestandjes opslaan.
Vervolgens, naarmate dit te overzichtelijk werd, heb ik het uitgebreid met MySQL: op deze manier hoef je niet gelijk met sql te beginnen en leer je tevens over hoe je bestanden op een webserver kunt beheren met een php bestand.
Om meer over het bestandssysteem te leren kun je ook een file manager programmeren (maar dat is voor later; eerst de basisfuncties ).
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.315s