Kai Lahmann: Browsererkennung funkt immer noch nicht

Beitrag lesen

hi

if(preg_match('/Mozilla/3.0\ (.*/',$user)) { $werte[0]++; }
elseif(preg_match('/Mozilla/4.0\ (.*/',$user)) { $werte[1]++; }
elseif(preg_match('/Mozilla/4.5\ (.*/',$user)) { $werte[2]++; }
elseif(preg_match('/Mozilla/4.7\ (.*/',$user)) { $werte[3]++; }
elseif(preg_match('/Mozilla/5.0\ (.*/',$user)) { $werte[4]++; }
elseif(preg_match('/Opera/ (.*/',$user)) { $werte[5]++; }
else { $werte[6]++; }

du glaubst also, dass man unterschiedliche Browser über dieses "Mozilla/x.x" unterscheiden kann? Dann irrst du gewaltig. Zunächst einmal haben die meisten da 4.0 (IE, NN4.0) oder 5.0 (konq, Mozilla) stehen - sofern das niemand verändert hat. Bei Opera hat der "eigene" String nichts derartiges.

Wenn du schon etwas halbwegs brauchbares aus dem Useragent holen willst (wovon ich DIRNGEND abrate, weil bei dem nur gelogen wird), dann solltest du zunächst alles wo "Opera" drin steht absortieren und bei dem Rech nach "MSIE", "konqueror" oder "Gecko" suchen - was übrig bleibt ist dann glückssache in der Zuordnung.

Grüße aus Bleckede

Kai