{"id":71684,"date":"2026-01-18T03:01:00","date_gmt":"2026-01-17T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=71684"},"modified":"2026-01-17T17:54:05","modified_gmt":"2026-01-17T07:54:05","slug":"journal-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/journal-primer-tutorial\/","title":{"rendered":"Journal Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/journal.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Journal Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/journal.gif\" title=\"Journal Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Journal Primer Tutorial<\/p><\/div>\n<blockquote><p>\nIt&#8217;s a new project day &#8230;. yay!!!\n<\/p><\/blockquote>\n<blockquote><p>\nIt&#8217;s a candidate for shortest blog posting title hereabouts <sub><font siz=1> day<\/font><\/sub> &#8230;. yay!!!\n<\/p><\/blockquote>\n<p>And so, with the brevity, we must explain that PHP serverside language is needed here, because writing to the RJM Programming web server, into files, is required for this project.  If you do not like brevity though, we can <a href='#post-71684' onclick=\"setInterval(function(){ var ia='post-71684'; if (document.getElementById(ia).innerHTML.indexOf(String.fromCharCode(62) + 'Jou' + 'rnal') != -1) { document.getElementById(ia).innerHTML=document.getElementById(ia).innerHTML.replace(String.fromCharCode(62) + 'Jou' + 'rnal',String.fromCharCode(62) + 'PH' + 'P Jou' + 'rnal').replace('String.fromCharCode(62) + Dia' + 'ry',String.fromCharCode(62) + 'PH' + 'P Dia' + 'ry').replace(String.fromCharCode(62) + 'Jou' + 'rnal',String.fromCharCode(62) + 'PH' + 'P Jou' + 'rnal').replace('String.fromCharCode(62) + Dia' + 'ry',String.fromCharCode(62) + 'PH' + 'P Dia' + 'ry'); } else { document.getElementById(ia).innerHTML=document.getElementById(ia).innerHTML.replace(String.fromCharCode(62) + 'PH' + 'P Jou' + 'rnal',String.fromCharCode(62) + 'Jou' + 'rnal').replace(String.fromCharCode(62) + 'PH' + 'P Dia' + 'ry',String.fromCharCode(62) + 'Dia' + 'ry').replace(String.fromCharCode(62) + 'PH' + 'P Jou' + 'rnal',String.fromCharCode(62) + 'Jou' + 'rnal').replace(String.fromCharCode(62) + 'PH' + 'P Dia' + 'ry',String.fromCharCode(62) + 'Dia' + 'ry'); } }, 3765);\" href='#'>toggle the title<\/a> for you here!?<\/p>\n<p>Am sure our vagueness about any differences between a personal &#8220;journal&#8221; and a personal &#8220;diary&#8221; may grate on some &#8230;  <a href='#post-71684' onclick=\"setInterval(function(){ var iia='post-71684'; if (document.getElementById(iia).innerHTML.indexOf('Dia' + 'ry Primer') == -1) { document.getElementById(iia).innerHTML=document.getElementById(iia).innerHTML.replace('Jou' + 'rnal Primer ','Dia' + 'ry Primer ').replace('Jou' + 'rnal Primer ','Dia' + 'ry Primer '); } else { document.getElementById(iia).innerHTML=document.getElementById(iia).innerHTML.replace('Dia' + 'ry Primer ','Journ' + 'al Primer ').replace('Dia' + 'ry Primer ','Jou' + 'rnal Primer ');   } }, 7000);\" href='#'><font size=1>and all because you asked for it<\/font><\/a>!?<\/p>\n<p>Anyway, the concept is &#8230;<\/p>\n<ol>\n<li>Identification &#8230;\n<ul>\n<li>user enters their name<\/li>\n<li>user enters their 8 digit date of birth ( eg. 20041231 ) &#8230; then to round off on the &#8220;identification section&#8221; if you will the web application assigns a &#8230;<\/li>\n<li>6 digit secret number<\/li>\n<\/ul>\n<\/li>\n<li>Posting &#8230;\n<ul>\n<li>web application assigns a default Journal Entry timestamp &#8230; you can change along with a textarea means of entering that time snapshot&#8217;s &#8230;<\/li>\n<li>journal entry content &#8230; so far just text and 5000 character limit on this first draft<\/li>\n<li>user clicks\/taps the &#8220;Post to Journal&#8221; button to display the latest Journal version to the top left above<\/li>\n<\/ul>\n<\/li>\n<li>Recounting &#8230;\n<ul>\n<li>even just completing an Identification that will be remembered as a button or dropdown displayed to the right for the user refiring up the <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/journal.php\" rel=\"noopener\">Journal<\/a> web application indicates a name of relevance onto which a click\/tap\/selection brings about &#8230;<\/li>\n<li>a validation of either the 8 digit date of birth or 6 digit secret number &#8230; allowing access and display to the relevant Journal at the top left of the web application &#8230; or if you know the Journal filename &#8230; for example &#8230;<\/li>\n<li><a target=\"_blank\" title='https:\/\/www.rjmprogramming.com.au\/PHP\/journal.php?fjname=Robert_Metcalfe-19590829-161454' href='\/\/www.rjmprogramming.com.au\/PHP\/journal.php?fjname=Robert_Metcalfe-19590829-161454' rel=\"noopener\">https:\/\/www.rjmprogramming.com.au\/PHP\/journal.php?fjname=Robert_Metcalfe-19590829-161454<\/a># which can be Bookmarked or be added to Favourites in your web browser<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Pretty straightforward in concept, but the security aspects to protect data privacy, add to the complication somewhat in the <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/journal.php_GETME\" rel=\"noopener\">journal.php<\/a> PHP <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/journal.php\" rel=\"noopener\">Journal<\/a> web application you can try yourself.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d71684' onclick='var dv=document.getElementById(\"d71684\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/journal\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d71684' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s a new project day &#8230;. yay!!! It&#8217;s a candidate for shortest blog posting title hereabouts day &#8230;. yay!!! And so, with the brevity, we must explain that PHP serverside language is needed here, because writing to the RJM Programming &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/journal-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,29,37],"tags":[418,429,430,5398,2137,2342,2415,932,4702,997,1986,3716,5399,1411,3551],"class_list":["post-71684","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-operating-system","category-tutorials","tag-file","tag-file_get_contents","tag-file_put_contents","tag-first-draft","tag-flat-file","tag-journal","tag-localstorage","tag-php","tag-primer","tag-programming","tag-proof-of-concept","tag-serverside","tag-tutoriial","tag-web-server","tag-window-localstorage"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/71684"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=71684"}],"version-history":[{"count":22,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/71684\/revisions"}],"predecessor-version":[{"id":71710,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/71684\/revisions\/71710"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=71684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=71684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=71684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}