{"id":27148,"date":"2024-03-16T07:58:53","date_gmt":"2024-03-16T07:58:53","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/"},"modified":"2024-03-22T10:19:22","modified_gmt":"2024-03-22T10:19:22","slug":"how-to-implement-recording-browsing-history-in-php","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/","title":{"rendered":"How to implement recording browsing history in PHP?"},"content":{"rendered":"<p>To achieve recording browsing history, you can follow these steps:<\/p>\n<ol>\n<li>Create a database table to store browsing history, including fields like id (record ID), user_id (user ID), page_url (page URL), visit_time (time of visit), etc.<\/li>\n<li>Store the URL of the page the user accesses and the current time in the browsing history table in the logic code of each page. You can use the INSERT statement to insert data, for example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-variable\">$user_id<\/span> = <span class=\"hljs-variable\">$_SESSION<\/span>[<span class=\"hljs-string\">'user_id'<\/span>]; <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u7528\u6237ID<\/span>\r\n<span class=\"hljs-variable\">$page_url<\/span> = <span class=\"hljs-variable\">$_SERVER<\/span>[<span class=\"hljs-string\">'REQUEST_URI'<\/span>]; <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u9875\u9762URL<\/span>\r\n<span class=\"hljs-variable\">$visit_time<\/span> = <span class=\"hljs-title function_ invoke__\">date<\/span>(<span class=\"hljs-string\">'Y-m-d H:i:s'<\/span>); <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u65f6\u95f4<\/span>\r\n\r\n<span class=\"hljs-variable\">$sql<\/span> = <span class=\"hljs-string\">\"INSERT INTO browsing_history (user_id, page_url, visit_time) VALUES ('<span class=\"hljs-subst\">$user_id<\/span>', '<span class=\"hljs-subst\">$page_url<\/span>', '<span class=\"hljs-subst\">$visit_time<\/span>')\"<\/span>;\r\n<\/code><\/pre>\n<ol>\n<li>When it is necessary to display browsing history, the corresponding records can be retrieved from the database based on the user ID, sorted in descending order by time, for example:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-variable\">$user_id<\/span> = <span class=\"hljs-variable\">$_SESSION<\/span>[<span class=\"hljs-string\">'user_id'<\/span>]; <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u7528\u6237ID<\/span>\r\n\r\n<span class=\"hljs-variable\">$sql<\/span> = <span class=\"hljs-string\">\"SELECT * FROM browsing_history WHERE user_id = '<span class=\"hljs-subst\">$user_id<\/span>' ORDER BY visit_time DESC\"<\/span>;\r\n<span class=\"hljs-variable\">$result<\/span> = <span class=\"hljs-title function_ invoke__\">mysqli_query<\/span>(<span class=\"hljs-variable\">$conn<\/span>, <span class=\"hljs-variable\">$sql<\/span>);\r\n\r\n<span class=\"hljs-keyword\">while<\/span> (<span class=\"hljs-variable\">$row<\/span> = <span class=\"hljs-title function_ invoke__\">mysqli_fetch_assoc<\/span>(<span class=\"hljs-variable\">$result<\/span>)) {\r\n    <span class=\"hljs-comment\">\/\/ \u663e\u793a\u6bcf\u6761\u5386\u53f2\u8bb0\u5f55\u7684\u4fe1\u606f<\/span>\r\n    <span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-variable\">$row<\/span>[<span class=\"hljs-string\">'page_url'<\/span>] . <span class=\"hljs-string\">' - '<\/span> . <span class=\"hljs-variable\">$row<\/span>[<span class=\"hljs-string\">'visit_time'<\/span>] . <span class=\"hljs-string\">'&lt;br&gt;'<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>Note: the &#8216;$conn&#8217; in the above code is a database connection object that needs to be initialized according to the actual situation.<\/p>\n<p>Additionally, to protect user privacy and enhance performance, appropriate optimizations can be made based on actual needs, such as setting a maximum number of browsing history records and regularly clearing out expired records.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To achieve recording browsing history, you can follow these steps: Create a database table to store browsing history, including fields like id (record ID), user_id (user ID), page_url (page URL), visit_time (time of visit), etc. Store the URL of the page the user accesses and the current time in the browsing history table in the [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-27148","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to implement recording browsing history in PHP? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to implement recording browsing history in PHP?\" \/>\n<meta property=\"og:description\" content=\"To achieve recording browsing history, you can follow these steps: Create a database table to store browsing history, including fields like id (record ID), user_id (user ID), page_url (page URL), visit_time (time of visit), etc. Store the URL of the page the user accesses and the current time in the browsing history table in the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:58:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T10:19:22+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How to implement recording browsing history in PHP?\",\"datePublished\":\"2024-03-16T07:58:53+00:00\",\"dateModified\":\"2024-03-22T10:19:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\"},\"wordCount\":167,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\",\"name\":\"How to implement recording browsing history in PHP? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:58:53+00:00\",\"dateModified\":\"2024-03-22T10:19:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to implement recording browsing history in PHP?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to implement recording browsing history in PHP? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/","og_locale":"en_US","og_type":"article","og_title":"How to implement recording browsing history in PHP?","og_description":"To achieve recording browsing history, you can follow these steps: Create a database table to store browsing history, including fields like id (record ID), user_id (user ID), page_url (page URL), visit_time (time of visit), etc. Store the URL of the page the user accesses and the current time in the browsing history table in the [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:58:53+00:00","article_modified_time":"2024-03-22T10:19:22+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How to implement recording browsing history in PHP?","datePublished":"2024-03-16T07:58:53+00:00","dateModified":"2024-03-22T10:19:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/"},"wordCount":167,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/","name":"How to implement recording browsing history in PHP? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:58:53+00:00","dateModified":"2024-03-22T10:19:22+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-recording-browsing-history-in-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to implement recording browsing history in PHP?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=27148"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27148\/revisions"}],"predecessor-version":[{"id":61361,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/27148\/revisions\/61361"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=27148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=27148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=27148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}