suchen
HeimBackend-EntwicklungPHP-Tutorial替每篇文章都在用户那加个COOKIE代表已查看过.合理吗

为每篇文章都在用户那加个COOKIE代表已查看过..合理吗?
最近在做文章系其中一功能,就是统计当前文章的查看次数(流量)


我的文章地址是  news.php?id=123

网上找到个方法

<br />$gid = $_GET["id];<br />if( !isset($_COOKIE["user"]) ){ <br />	setcookie("user","newGuest",time()+3600); <br />}else { <br />	setcookie("user","oldGuest"); <br />} <br /><br />if ( $_COOKIE["user"] != "oldGuest") {<br />	$hits_now = $row["hits"]+1;<br />	$pdo->exec("UPDATE `gamedb_game` SET `hits`='$hits_now' WHERE `id` = '$gid'");	<br />}



这样的话,同一浏览器第二次刷新,就不会重复增加查看数了

但一想不对,去其他文章一试,即便第一次浏览,也不增加查看了

所我想到不如这样?

<br />$gid = $_GET["id];<br />if( !isset($_COOKIE["user"]) ){ <br />	setcookie("user","newGuest",time()+3600); <br />}else { <br />	setcookie("user","oldGuest_$gid"); <br />} <br /><br />if ( $_COOKIE["user"] != "oldGuest_$gid") {<br />	$hits_now = $row["hits"]+1;<br />	$pdo->exec("UPDATE `gamedb_game` SET `hits`='$hits_now' WHERE `id` = '$gid'");	<br />}


把oldGuest改成oldGuest_$gid   有个文章id加在后面,就有唯一性了吧?

但这样的话,某程度上会对用户的浏览器产生不良的反应吗?

还是其他cms都是这样做的?

如果要写入sql要匹配是否第一次的话,就太复杂了

想到的只有cookie


这样的方法 对我自己主机,还有对用户,会如何?
------解决方案--------------------
查看数增加刷新一次增加一次没问题呀,
如果实在想用你的方法不让它看出来可以放到缓存中,设定一个时间抽,指定时间取一次,很多网站是这样做得。
你的方法可以试将文章id放到数组,然后序列话一下,存入cookie试一下下。
------解决方案--------------------
将用户查看的文章标题记录到cookie,下次用户再次打开网页查看该篇文章,就会有上次查看的记录,
这个有点像你做购物网站浏览商品的时候,下次再去看的时候,就有你上次浏览记录。

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie optimieren Sie PHP -Anwendungen für die Leistung?Wie optimieren Sie PHP -Anwendungen für die Leistung?May 08, 2025 am 12:08 AM

Tooptimizephpapplicationsforperformance, Usecaching, Datenbankoptimierung, Opcodecaching und ServerConfiguration.1) ImplementcachingwithapcutoredatafetTimes.2) optimiertatabasesbyindexing, BalancingReadand und 3) enableopcachetoavoidrocompilecompil

Was ist Abhängigkeitsinjektion in PHP?Was ist Abhängigkeitsinjektion in PHP?May 07, 2025 pm 03:09 PM

AbhängigkeitsinjektionInphpisadelPatternThatenhancesFlexibilität, Testbarkeit und MaschinenbarkeitbyprovidexternaldePendenclasses.itallowsforlocoppling, EaserTesting Throughmocking und Modulardesign, ButrequiresfulstructionoVoidover-In-Inje-Inje-Inje

Beste PHP -LeistungsoptimierungstechnikenBeste PHP -LeistungsoptimierungstechnikenMay 07, 2025 pm 03:05 PM

Die PHP -Leistungsoptimierung kann in den folgenden Schritten erreicht werden: 1) Verwenden Sie Request_once oder include_once oben im Skript, um die Anzahl der Dateilasten zu reduzieren. 2) Verwenden Sie Vorverarbeitungsanweisungen und Stapelverarbeitung, um die Anzahl der Datenbankabfragen zu verringern. 3) Opcache für Opcode -Cache konfigurieren; 4) Aktivieren und Konfigurieren von PHP-FPM-Optimierungsprozessmanagement; 5) Verwenden Sie CDN, um statische Ressourcen zu verteilen. 6) XDEBUG oder Blackfire für die Code -Leistungsanalyse verwenden. 7) Wählen Sie effiziente Datenstrukturen wie Arrays; 8) Schreiben Sie den modularen Code für die Optimierungsausführung.

PHP -Leistungsoptimierung: Verwenden von Opcode -CachingPHP -Leistungsoptimierung: Verwenden von Opcode -CachingMay 07, 2025 pm 02:49 PM

OpcodecachingsidesignifictimProvePhpperformanceByCachingCompiledCode, reduziererverladung und responsetimes.1) itStoresCompiledPhpCodeInmemory, BypassingParsingandCompiling.2) useopcacheBysetingParameterphp.ini, LikeemoryConsumnitlimits

PHP -Abhängigkeitsinjektion: Wartbarkeit des Codes steigernPHP -Abhängigkeitsinjektion: Wartbarkeit des Codes steigernMay 07, 2025 pm 02:37 PM

Die Abhängigkeitsinjektion liefert Objektabhängigkeiten durch externe Injektion in PHP, wodurch die Wartbarkeit und Flexibilität des Codes verbessert wird. Zu den Implementierungsmethoden gehören: 1. Konstruktorinjektion, 2. Werteinspritzung, 3. Schnittstelleninjektion. Die Verwendung der Abhängigkeitsinjektion kann entkoppeln, die Testbarkeit und Flexibilität verbessern, aber der Möglichkeit einer Steigerung der Komplexität und der Leistungsaufwand gelegt werden.

So implementieren Sie die Abhängigkeitsinjektion in PHPSo implementieren Sie die Abhängigkeitsinjektion in PHPMay 07, 2025 pm 02:33 PM

Die Implementierung der Abhängigkeitsinjektion (DI) in PHP kann durch manuelle Injektion oder Verwendung von DI -Behältern erfolgen. 1) Manuelle Injektion führt Abhängigkeiten über Konstruktoren wie die injizierende Logger der Userservice -Klasse. 2) Verwenden Sie DI -Container, um Abhängigkeiten wie die Containerklasse automatisch zu verwalten, um Logger und Userservice zu verwalten. Durch die Implementierung von DI kann die Flexibilität und Testbarkeit der Code verbessern.

Was ist der Unterschied zwischen UnSet () und Session_Destroy ()?Was ist der Unterschied zwischen UnSet () und Session_Destroy ()?May 04, 2025 am 12:19 AM

ThedifferencebetweenUnset () undsesion_destroy () isHatunset () clearsSesionSessionVariables whilepingTheSessionActive, whire eassession_destroy () terminatesthectheentireSession.1) UseUnset () toremovespecificSessionvariables ohnemacht

Was sind klebrige Sitzungen (Sitzungsaffinität) im Kontext des Lastausgleichs?Was sind klebrige Sitzungen (Sitzungsaffinität) im Kontext des Lastausgleichs?May 04, 2025 am 12:16 AM

StickySessionSesionSureSerRequestSareroutedTothesamerverForSessionDataconsistency.1) SessionidentificationSignSuServerSuSuSuSingCookieSorUrlmodificificificifications.2) KonsistentroutingDirectsSubsequestRequestTothSameServer.3) LastbalancedistributeNeNewuser

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung