www.webdeveloper.com
Results 1 to 6 of 6

Thread: Possible to add a comments section to pages with PHP

  1. #1
    Join Date
    Jun 2004
    Location
    Tampa, Florida
    Posts
    121

    Possible to add a comments section to pages with PHP

    I'm a reasonable experienced coder for general languages like C/C++, BUT still pretty new to PHP, and unfortunately pretty lacking in database work. (I've done a few pretty decent mail forms for my various sites, and thats about it). For my "next trick" I'd like to be able to add the equivalent of a moderated "comments" area to various articles I write on my pages. Bear in mind none of my sites or pages are anything more than simple HTML/CSS, and have no CMS infrastructure like wordpress. But as with mailforms, I learned a great deal looking at examples. Maybe some of you can point me to some generic examples for something like this? I've never used MySQL or any database for that matter on a direct coding level, so I'm tempted to cop out and just build a simple text based flat file organized like a table, but something tells me I'd be re-inventing a lot of wheels. Perhaps with some examples I could pull this off?
    Randy (PeterPan)
    * * *
    * *
    ... Second Star to the Right, and Straight on Till Morning!
    * * *

  2. #2
    Join Date
    Oct 2017
    Location
    Lithuania
    Posts
    71
    I believe you can simply search for PHP/MySQL tutorials and start with the most basic examples. This way you will learn step-by-step how database works with PHP.

  3. #3
    Join Date
    Jun 2004
    Location
    Tampa, Florida
    Posts
    121
    Quote Originally Posted by phpmillion View Post
    I believe you can simply search for PHP/MySQL tutorials and start with the most basic examples. This way you will learn step-by-step how database works with PHP.
    Tha

    Thanks. So what you're saying is it would be wise to use a database for a task like this, rather than "wing it" from scratch with a file and file structure of my own? Something like MySQL wouldn't be overkill for something like this?
    Randy (PeterPan)
    * * *
    * *
    ... Second Star to the Right, and Straight on Till Morning!
    * * *

  4. #4
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,284
    Quote Originally Posted by PeterPan_321 View Post
    Tha

    Thanks. So what you're saying is it would be wise to use a database for a task like this, rather than "wing it" from scratch with a file and file structure of my own? Something like MySQL wouldn't be overkill for something like this?
    You could use a file-based system, but it does not scale well. For a few pages with a few comments, no big deal. But as you start having to read and parse larger amounts of data from files, it tends to take longer in direct proportion to the amount of data (and at some point may leave a linear relationship and become exponential). Modern databases, on the other hand, are designed from the ground up to efficiently store, retrieve, sort, and parse data very efficiently; so using a DB-driven solution would scale much better.

    Therefore, if you see this as never becoming a large site with 100s of pages and 1000s of comments...I suppose whatever works for you is fine. But if you expect (hope?) it will grow, or if you just want to leverage this as a learning experience, I'd go with a DB-driven approach, even if just using SQLite within PHP rather than MySQL or such. If you use the PDO DB extension in PHP, it will be pretty easy to switch later to MySQL (or PostgreSQL or whatever) later, should you decide that would be better for you.

    On a related note, for the fun of it I created my current blog specifically to see how simple I could keep it, including no database. I've been contemplating whether or not I want to add a comments facility or not, and so far I've not decided if I really want it, and if I do, will it be DB-driven or not. See https://github.com/nogdog/cwrblog if you're interested.
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  5. #5
    Join Date
    Jun 2004
    Location
    Tampa, Florida
    Posts
    121
    @NogDog

    I wouldn't mind seeing your code! I suppose you used a flat file with defined field sizes or delimiters (like a comma separated scheme)? Sadly my last use of Github was so long ago, I've forgotten my login details and need to re-register. Any chance you could post the code in a ZIP file here on the Webdevelopers board?
    Randy (PeterPan)
    * * *
    * *
    ... Second Star to the Right, and Straight on Till Morning!
    * * *

  6. #6
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    22,284
    Attempted to upload the zip I downloaded from GitHub...

    Screen Shot 2017-11-30 at 2.00.05 PM.png

    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.41476 seconds
  • Memory Usage 2,909KB
  • Queries Executed 16 (?)
More Information
Template Usage (33):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (6)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (74):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • fetch_postattach_query
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates