|
| Autor |
Nachricht |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 17:10 Titel: 2 Frameset in PHP Datei |
|
|
Hallo,
ich möchte eine PHP Datei erstellen die eine nach Sprache des Users entweder den Quellcode für den Code für ein deutsches oder englisches Frameset "ausgiebt".
Also wenn sagen wir der User deutsch spricht dann wird eben ein Frameset "erstellt" (hergestellt durch das PHP File) wo in den "<frame" tags die Dateien aus dem deutschen Ordner kommen.
Also ich dachte es so:
Zuerst Sprache auslesen + speichern
je nach Inhalt dieser dann den einen Quelltext anzeigen oder den anderen anzeigen/ausgeben.
Verständlich?
Jetzt würde ich euch bitten das ihr mir helft den Code zusammen zu stellen.
|
|
| Nach oben |
|
 |
bangolo Helfer [User]

Anmeldung: 01.03.07 Beiträge: 171
|
Verfasst am: 08.05.2007, 17:22 Titel: |
|
|
mußte den http header auslesen und schauen was der user für eine Sprache eingestellt hat.
Da kriegst du dann einen string wieder, de, at, en, ch oder was auch immer.
Jetzt hast das problem es gibt mehrere Länder die deutsch sprechen oder sagen wir mal denen du deutsche Texte anbieten willst
da baut man sich am besten ein array für die kürzel die da reinsollen und vergleich dann ob dieser Rückgabe String in dem array enthalten ist.
dem framset ist es übrigens völlig egal welche Sprache es letztendlich anzeigt, das ist immer gleich. Ich frag mich nur wofür du sowas mit framesets machst verkompliziert eigentlich alles nur. _________________
http://www.die-abnehm-seite.de - http://www.wellness-beauty-info.de - http://www.artikel-liste.de
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 17:26 Titel: |
|
|
Einigen wir uns bitte, über Frame oder nicht mag ich HIER nicht reden!
Weiters:
Jetzt ist es so: eine php Datei leitet entweder zum frameset im deutschen oder englischen Ordner. Das ist blöd da ich im deutschen Ordner 0 Rank habe! Also will ich jetzt eine Datei die etwas anzeigt in der Top ebene haben. Das wäre ja dann das index.php weil dann in der Adresszeile steht /index.php
|
|
| Nach oben |
|
 |
bangolo Helfer [User]

Anmeldung: 01.03.07 Beiträge: 171
|
Verfasst am: 08.05.2007, 17:52 Titel: |
|
|
achso du hast statische Seiten und willst die php Datei nur dazu nutzen als weiche zwischen englisch und deutsch umzuschalten ?
angezeigt wird dann nicht das was in der index.php steht sondern das was in deinem frameset steht. Die index.php wird aufgerufen entscheidet ist deutsch oder englisch und leitet in die unterverzeichnisse weiter.
| Code: | <?php
$german = array (de,at,ch);
$sprache = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (in_array($sprache, $german )) {
//hier gehts nach deutschland
header("Location: http://www.mein-deutsches-frameset.de/");
}else {
//die anderen kriegen englische Texte
header("Location: http://www.mein-englisches-frameset.de/");
}
?> |
ich mein so geht es habe es allerdings nicht probiert. Achtung vor dem code dürfen keine anderen Sachen an den browser gesendet werden ansonsten geht die Umleitung nicht. _________________
http://www.die-abnehm-seite.de - http://www.wellness-beauty-info.de - http://www.artikel-liste.de
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 18:07 Titel: |
|
|
Ja genau ich will es als Weiche ABER hier ist der Punkt ich will keine Weiterleitung...
Weil das eigentliche Problem ist ja das das ich jetzt in der Topebene kein Index.html habe sondern einen Ordner drunter und das eben nicht so wirklich mit google kompatibel ist man findet uns zwar untern den entsprechenden Wörtern aber auf Seite 2 statt eigentlich wie erhofft auf Seite 1 und zwar eben eine Datei die nicht in der Top ebene ist weil dort ist ja der höchste PR!
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1311 Wohnort: Ostfildern ...
|
Verfasst am: 08.05.2007, 18:40 Titel: |
|
|
Dann ersetz header mit | Code: |
include("abc/german-frame.php");
|
_________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 18:42 Titel: |
|
|
Aber dann hab ich ja wieder eine Weiterleitung oder nicht?
Zuletzt bearbeitet von poeli am 08.05.2007, 18:45, insgesamt 2-mal bearbeitet
|
|
| Nach oben |
|
 |
benjam4 Bekannter [Mod]


Anmeldung: 17.05.06 Beiträge: 1311 Wohnort: Ostfildern ...
|
Verfasst am: 08.05.2007, 18:44 Titel: |
|
|
nö, dann wird deine index.php im PR5 verzeichnis den html Code aus der frameseite die im PR0 verzeichnis ausgeben, so als ob du den darein geschrieben hättest.
Musst du dann auch bei den Links beachten, die gehen alle vom hauptverzeichnis aus. _________________ Rechtschreibfehler sind beabsichtigt, sie dienen der Verschleiherung meiner tatsächlichen Genialität
____________________________________
Eine Signatur sie alle zu knechten
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 18:46 Titel: |
|
|
Hey stimmt ich glaub es geht so
Danke dir!
Perfekt so wollte ich es. Über CSS oder Tabelle oder Frame kann ich ja jetzt in Ruhe ein andere Mal diskutieren!
Nur irgend wie muss an dem einen Code was falsch sein ich bekomme jetzt die englische Seite
| Code: | <?php
$german = array (de,at,ch);
$sprache = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (in_array($sprache, $german )) {
//hier gehts nach deutschland
include("german/index.html");
}else {
//die anderen kriegen englische Texte
include("english/index.html");
}
?> |
Zuletzt bearbeitet von poeli am 28.10.2008, 06:42, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
bangolo Helfer [User]

Anmeldung: 01.03.07 Beiträge: 171
|
Verfasst am: 08.05.2007, 19:12 Titel: |
|
|
habe ja gesagt habe es nicht ausprobiert
| Code: | <?php
$german = array ('de','at','ch'); <----- da könnte der Fehler gewesen sein
$sprache = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (in_array($sprache, $german )) {
//hier gehts nach deutschland
include("german/index.html");
}else {
//die anderen kriegen englische Texte
include("english/index.html");
}
?>
|
ansonsten mal rumprobieren mit echo $sprache kannst du ausgeben was in der Variable Sprach steht. mit var_dump($german); kannst du dir das array anzeigen lassen. _________________
http://www.die-abnehm-seite.de - http://www.wellness-beauty-info.de - http://www.artikel-liste.de
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 19:22 Titel: |
|
|
Bin verwirrt
laut dem Echo kommt:
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
mit dem arry:
array(3) { [0]=> string(2) "de" [1]=> string(2) "at" [2]=> string(2) "ch" }
Also irgend was wird da in Zahlen konvertiert?
|
|
| Nach oben |
|
 |
bangolo Helfer [User]

Anmeldung: 01.03.07 Beiträge: 171
|
|
| Nach oben |
|
 |
poeli Helfer [User]

Anmeldung: 27.04.07 Beiträge: 116
|
Verfasst am: 08.05.2007, 19:58 Titel: |
|
|
Sorry weis nicht wo diese Datei sein soll aber
mit
| Code: | <?php
$sprache = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
switch($sprache) {
case 'de': $weiterleitung = 'german/index.html';break;
case 'en': $weiterleitung = 'english/index.html';break;
default: $weiterleitung = 'german/index.html';
}
header ("location: $weiterleitung");
?> |
ging es ja. Das war noch die Weiterleitung aber das heist das das es mit 'de' und 'en' gehen müsste.
*ich ärger mich das das so viel zeit nimmt ich versteh das gar nicht generell warum das so kompliziert ist*
Die Seite soll 2 sprachig sein und selber auswählen welche Sprache zuerst angezeigt wird und sie soll auf Seite 1 bei den entsprechenden Wörtern sein und das mit wenig Zeitaufwand. Ist doch eigentlich einfach 
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1378 Wohnort: Speyer
|
Verfasst am: 08.05.2007, 21:08 Titel: |
|
|
| poeli hat folgendes geschrieben: | | Sorry weis nicht wo diese Datei sein soll aber |
phpinfo ist keine Datei, das ist ein Befehl den man in eine Datei schreibt
http://de.php.net/manual/de/function.phpinfo.php
| poeli hat folgendes geschrieben: | mit
| Code: | <?php
$sprache = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
switch($sprache) {
case 'de': $weiterleitung = 'german/index.html';break;
case 'en': $weiterleitung = 'english/index.html';break;
default: $weiterleitung = 'german/index.html';
}
header ("location: $weiterleitung");
?> |
ging es ja. Das war noch die Weiterleitung aber das heist das das es mit 'de' und 'en' gehen müsste. |
Dann nimm doch einfach den Code der funktionirt hat ....
tausche
header ("location: $weiterleitung");
gegen
include ( $weiterleitung ); _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1378 Wohnort: Speyer
|
Verfasst am: 08.05.2007, 21:18 Titel: |
|
|
Aber, die Erkennung wird so nicht funktionieren
denn meine 4 Browser melden
Epipahny = "" ... also, garnix
Firefox = de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Konqueror = de, en
Galeon = de
nur mit Galeon hätte es "de" erkannt
mit allen anderen hätte ich "de" wegen default = kein "en" erkannt
| Code: |
$sprache = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$sprache = str_replace( '-', ',', $sprache);
$sprache = strtok( $sprache, ',' );
|
=
Den Bindestrich beim FireFox in Komma umwandeln
Abschneiden, alles vor den ersten Komma (bzw allen, wenn kein Komma)
dann wäre ich nur noch mit Epipahny "Default" _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
|
|