PSP Browser-Erkennung

Hi, :slight_smile:

Ich möchte, dass meine Seite nicht nur auf dem PC zu erreichen ist, sondern auch auf der PSP. Da meine Webseite sehr flexibel ist, wird sie schon jetzt fast genau so wie auf dem PC angezeigt, allerdings möchte ich doch lieber noch eine individuelle PSP-Version.

Ich habe einen PHP-Code gefunden, der bei Aufruf meiner Seite (index.php) auf eine andere Datei umleitet (z. B. pspindex.php). Nun möchte ich aber nur ein zweites Stylesheet und keine zweite Seite. Weiß jemand, wie man diesen Code entsprechend umformen kann? Dürfte eigentlich ziemlich einfach sein, bin aber noch blutiger Anfänger in PHP. :frowning:

<? if ($name = strstr ($HTTP_USER_AGENT, "PlayStation Portable")) { //PSP-Version Header ("Location: http://www.meineseite.com/psp-version.html"); echo "<b>PSP-Browser erkannt!</b>"; } ?>

Wäre unendlich dankbar für Antworten. :wink:

eigentlich ganz einfach,

der stylesheet wird ja im header definiert, also musst du dort dafür sorgen, dass der stylesheet umgeschaltet wird:

<? 
if ($name = strstr ($HTTP_USER_AGENT, "PlayStation Portable")) 
{ 
  echo "<link rel="stylesheet" type="text/css" href="psp_style.css">"; 
}
else
{
  echo "<link rel="stylesheet" type="text/css" href="standard_style.css">"; 
} 
?>

Klingt einleuchtend, aber irgendwie hat einer von uns was falsch gemacht: :?:

[CODE]

www.pspmedia.de.nr | Home <? if($name = strstr ($HTTP_USER_AGENT, "PlayStation Portable")) { //PSP-Version echo ""; } else { //PC-Version echo "" } ?>

…[/CODE]

Du kannst den Fehler auch live in meiner Signatur sehen. :wink:

[php]

<? if($name = strstr ($HTTP_USER_AGENT, "PlayStation Portable")) { //PSP-Version echo ""; } else { //PC-Version echo "" } ?>[/php]

Btw. würde ich nicht damit arbeiten, da das meines Wissens nach eine globale Variable ist und register_globals normaler weise auf off stehen sollte. Arbeite lieber mit der Variable / Array-Feld $_SERVER[‚HTTP_USER_AGENT‘] oder direkt mit der funktion get_browser();

PHP: get_browser - Manual

[CODE]

www.pspmedia.de.nr | Home <?php if($name = strstr ($HTTP_USER_AGENT, "PlayStation Portable")) { //PSP-Version echo ""; } else { //PC-Version echo "" } ?> [/CODE]

Danke, geht aber immer noch nicht… :frowning:

Erstell ma ne php Datei und schreibfolgendes rein:

[php]

<? echo $HTTP_USER_AGENT; ?>

[/php]

Dann weißte den genauen Useragent und kannst diesen in die Abfrage einsetzen.

Ich erwähnte, dass ich ein blutiger Anfänger bin… :wink:
Ich hab die Datei erstellt, und jetzt?

jetzt gehst du mit der PSP auf diese Seite und schreibst dir ab, was da steht

OMFG, da steht ja echt was! D:

Mozilla/4.0 (PSP (PlayStation Portable); 2.00)

Und jetzt? Der Fehler sieht übrigens so aus:

Parse error: syntax error, unexpected '}', expecting ',' or ';' in /usr/export/www/vhosts/funnetwork/hosting/assmaje/index.php on line [COLOR="Red"][B]x[/B]

Dachte ich es mir doch, im Internet hab ich nämlich auch immer diesen Useragent gefunden.

Zu der Fehlermeldung: Ja, ich hab nen Semikolon vergessen. Versuch ma folgendes Beispiel:

[php]

<? if($name = strstr ($HTTP_USER_AGENT, "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)")) { //PSP-Version echo ""; } else { //PC-Version echo ""; } ?>[/php]

Wenn das nicht gehen sollte machst du mal folgendes:

Erstellst wieder eine PHP Datei, schreibst folgendes rein und gehst mit der PSP auf diese Seite

[php]

<?php $browser = get_browser(null, true); print_r($browser); ?>[/php]

Und schreibst uns, was hiner folgenden Feldern steht:

  • [browser]
  • [platform]

Das wären nun andere Punkten, die man Abfragen könnte, um dein Stylesheet für die PSP auszugeben.

WOW, ES FUNKTIONIERT!!! :smiley:

Danke!!