php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2005, 22:38  
Gast
 
Beiträge: n/a
Standard [Erledigt] Linux-Weiche via PHP

Hab hier einen Code.
Funktioniert aber nicht.

Code:
<?PHP
$check = getenv('HTTP_USER_AGENT');
$check = strtolower($check);
$browser = array($check);
if (in_array("linux", $browser)){
  if (in_array("mozilla", $browser)){
  echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"css_linux.css\">";
  }
  }
  else {
  echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"css.css\">";}
  
?>
der user-agent soll abgefragt werden. beinhaltet er "linux", so solle der server schauen, ob der user-agent auch "mozilla" beinhaltet (man kanns auch kürzer machen mit den beiden if, aber das ist jetzt egal). dann soll nämlich css_linux.css benutzt werden und nicht das andere. klappt aber nicht. das if scheint nie der fall zu sein, obwohl ich mit mozilla und linux es probiert habe. stattdessen wird immer css.css benutzt.

statt in_array habe ich es auch bereits mit array_search probiert, klappt auch nicht.

über eine hilfe wäre ich dankbar!!!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.01.2005, 23:08  
Erfahrener Benutzer
 
Registriert seit: 23.07.2004
Beiträge: 100
Tutti
Standard

Versuch mal mittels Stringfunktion strpos() nach einem Vorkommen in $check zu suchen.
__________________
Tutti ist offline  
Alt 25.01.2005, 00:31  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
Alt 25.01.2005, 12:36  
Gast
 
Beiträge: n/a
Standard Andere Alternative (funzt bei mir immer)

Dein Problem ist die Zuweisung von $check an ein Array, denn ein String, der in ein Array verwandelt wird (ein String ist ja bereits ein Array), enthält nur noch ein Zeichen pro Schlüssel!!!
Wenn ich überprüfen möchte, ob ein String (egal ob klein-oder großgeschrieben) in einem anderen String enthalten ist, verwende ich meistens stristr(). Probier's mal aus...
Code:
$check = getenv('HTTP_USER_AGENT'); 
echo "
$check";
if (stristr($check,'Mozilla')) {
	echo "
Mozilla gefunden...";
}
mfg,

Zedda
 
Alt 25.01.2005, 14:34  
Gast
 
Beiträge: n/a
Standard

hat geklappt zedda. danke!
 
Alt 25.01.2005, 16:34  
Erfahrener Benutzer
 
Registriert seit: 23.07.2004
Beiträge: 100
Tutti
Standard

Zitat:
Zitat von Das PHP-Manual
Anmerkung: Wenn Sie nur herausfinden möchten, ob ein bestimmter needle innerhalb von haystack vorkommt, verwenden Sie stattdessen die schnellere und weniger speicherintesive Funktion strpos().
Alternativ, um case-insensitive zu benutzen, kann man auch stripos() verwenden.
Voraussetzung ist jedoch mind. PHP5.
__________________
Tutti ist offline  
Alt 25.01.2005, 17:41  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: Andere Alternative (funzt bei mir immer)

Zitat:
Zitat von Zedda
Dein Problem ist die Zuweisung von $check an ein Array, denn ein String, der in ein Array verwandelt wird (ein String ist ja bereits ein Array), enthält nur noch ein Zeichen pro Schlüssel!!!
Die Erklärung ist falsch. Erstens macht
$arr = array($string);
keine Umwandlung, sondern erstellt ein neues Array, das an erster Stelle den String hat.
Und selbst eine echte Umwandlung per cast tut dasselbe:
$arr = (array)$string;
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Linux als zweites OS. Was brauche ich alles? Ticos Server, Hosting und Workstations 4 09.02.2007 15:30
linux 9.3 startmenü chiliGREEN Server, Hosting und Workstations 9 30.07.2006 23:17
Webseiten werden bei Linux nicht richtig angezeigt Server, Hosting und Workstations 13 16.10.2005 13:39
kostenlose und vollständige PHP-IDE für linux? PHP Tipps 2005-2 3 12.10.2005 17:58
Datenbank in Windows und Linux benützen karl Datenbanken 4 12.10.2005 14:37
Linux und NTFS scooter Off-Topic Diskussionen 1 12.07.2005 14:40
[Erledigt] erste Gehversuche mit Linux Server, Hosting und Workstations 19 01.06.2005 21:34
AOL bei Linux ClaBo3 Server, Hosting und Workstations 7 18.05.2005 13:24
[Erledigt] TTF-Fonts unter Linux anders als unter Win (GD2) Server, Hosting und Workstations 2 15.03.2005 11:25
PHP einrichten unter Linux Server, Hosting und Workstations 3 04.03.2005 20:53
[Erledigt] Linux Server, Hosting und Workstations 14 25.11.2004 17:04
webserver mit linux flyingeagle Server, Hosting und Workstations 10 02.11.2004 19:14
ttf unter windows und linux PHP Tipps 2004 0 19.10.2004 17:03
Umstieg auf Linux Quadaptor Server, Hosting und Workstations 17 05.10.2004 11:55
[Erledigt] PHP Script von Windows auf Linux PHP-Fortgeschrittene 7 15.06.2004 13:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php weiche css linux, <?php$browser = getenv(\'http_user_agent\') mozilla css weiche, css linux weiche

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.