search
HomeBackend DevelopmentPHP TutorialForum 5 that imitates OSO_PHP tutorial

Forum 5 that imitates OSO_PHP tutorial

Jul 13, 2016 pm 05:27 PM
backexistsuccesssubmitimitateofforumJump

In the previous post.php and reply.php, after the speech is submitted successfully, it jumps to a page called post_end.php. This page mainly prompts that the speech is submitted successfully and gives a link to faq.php. The procedure is very simple, I will write it down below:

Your statement has been submitted
Return to the troubleshooting home page

In this section, we We will focus on how to implement the eight functions we listed at the beginning that this forum lacks:
1. In my forum, users can only speak after they log in. The user's ID is called "cookie_user" in the cookie variable.
I think this should not be the main content of the forum program. Regarding user login, there are many perfect programs for reference. If you want to make your forum program more complete, you can consider post.php and reply. Add a user login module in php. You can also consider automatically registering users when they log in for the first time.
2. My forum has no sub-forums.
In fact, you must add a field id_style to the data table guestbook to indicate the id of the sub-forum to which it belongs. In addition, you'd better design a data table named bm_style, which contains two fields: style_code (sub-forum) Forum code), style_name (sub-forum name), and the field id_style in guestbook should store the sub-forum code.
3. I did not count the number of clicks on a topic.
Add a field count_read in the data table guestbook, set its initial value to 1 in post.php, and accumulate it in read.php.
4. I did not design the icon in front of each topic in the OSO forum to indicate whether there are new posts.
Record the time when the user last read a post in the user's cookie, and then compare this time with time_close. If time_close is greater than this value, mark the topic as having a new post.
5. I did not consider the optional topic arrangement and display time period provided by the OSO forum.
Give the user a drop-down list box to choose from, change the content of the order clause of the select statement in read.php according to the arrangement selected by the user, and add a where clause according to the display time period selected by the user.


6. There is no statistics on points posted by members.
Add the point field to the my_user table, set an initial value when registering, and add corresponding points to post.php and reply.php.
7. There is no function for moderators to manage the forum.
Add the type field to the my_user table and indicate the user type. Users whose type is moderator can enter a management interface and perform delete operations on the guestbook data table.
8. There is no post editing function.
For the user's own posts (that is, the name in the guestbook is the same as the name in the cookie), the user can perform corresponding update operations on it.
This is the end of this exercise. If there are any shortcomings, I would like to ask all experts to criticize and correct them, including those that are suspected of plagiarism from OSO (interface part). I would like to express my gratitude to all OSO comrades.
[The copyright of this article is jointly owned by the author and Oso.com. If you need to reprint, please indicate the author and source]

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/531829.htmlTechArticleIn the previous post.php and reply.php, after the speech is submitted successfully, it jumps to a post_end .php page, this page mainly prompts that the speech has been submitted successfully, and gives a link to the faq....
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),