2016-07-14 26 views
1

Ich habe einen Zähler in einer PHP-Seite. Nehmen wir an, ich habe eine var = 1. Ich möchte, wenn der Benutzer es besucht, dass var = var-1. Es wird auf 0 gesetzt. Und es funktioniert gut.Zähler in PHP und Vorschau mit WhatsApp facebook und twitter

Das Problem ist, wenn ich die Website auf WhatsApp oder auf Facebook teilen, die Vorschau, die diese App generieren, die Seite besuchen und meine Var beeinflussen.

Wie kann ich wissen, wann die Seite gerade besucht wird oder gerade besucht wird, um einen Vorschaulink zu generieren?

+0

Es ist eine interessante Frage, die so schlecht gemacht wird. – FirstOne

+0

Mann, ist nicht die Worte, es ist das Problem, Englisch ist nicht meine Muttersprache – user774375

+0

Suchen Sie einfach nach den User-Agenten von Twitter Facebook etc. und prüfen Sie, wenn sie in PHP besuchen. – devOp

Antwort

3

Sie können überprüfen, von wo die Anfrage kommt mit $_SERVER['HTTP_REFERER'] - es wird die Adresse der Seite (falls vorhanden), die den Benutzer-Agent auf die aktuelle Seite verwiesen. Sie können überprüfen, ob der Referer Facebook oder WhatsApp ist und Ihren Variablenzähler deaktivieren.

+0

Kennen Sie die Referrer dieser Apps? – user774375

+0

Referrers Wert enthält "facebook.com" oder "WhatsApp" darin. –

+0

if (strstr ($ _ SERVER ['HTTP_USER_AGENT'], 'facebookexternalhit')) {...} dies funktioniert für facebook, aber ich brauche whatsapp und twitter auch. – user774375

1
if ((strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'facebook')) || (strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'whatsapp')) || (strstr(strtolower ($_SERVER['HTTP_USER_AGENT']),'twitter'))) { 
... 
} 
+2

Randnotiz: 'strstr' hat eine Groß-und Kleinschreibung Schwester: [stristr] (http://php.net/manual/ de/funktion.stristr.php) – FirstOne