Weil ich noch ein Anfänger bin vielleicht. Hab ich doch erwähnt! für euch mag das hier alles selbstverständlich sein, für mich nicht. erkenne aber gerade selbst den fehler und werds nochmal probieren.
Webseite 2-Sprachig
Einklappen
X
-
Anfänger hin oder her, das tut relativ wenig zur Sache.
Selbst du solltest Forenregeln lesen und anwenden können, oder etwa nicht?
Es wird auch vielen Anfängern geholfen, wenn man sieht, dass Eigeninitiative vorhanden ist.
EDIT:
Poste den gesamten Code, sonst kann man nichts nachvollziehen...
Kommentar
-
Ja da hast du recht... habe ich übersehen..
so das ist meine index.php
1. Versuch
index.php
PHP-Code:switch ($_GET["lang"]) {
case "de":
include("http://www.domäne.de/lang_de.php");
break;
case "en":
include("http://www.domäne.de/lang_en.php");
break;
default:
include("http://www.domäne.de/lang_de.php");
break;
}
aufruf der daten aus der text datei:
PHP-Code:echo $info[5]; </H3>
<P>
echo $info[0]; <BR>
echo $info[1]; <br>
echo $info[2]; <br>
echo $info[3];<br>
echo $info[4]; </P>
echo $allgemeininfo[0];
<A href="link.de"> echo $allgemeininfo[1];</A>
<A href="link.de"> echo $allgemeininfo[2]; </A>
<A href="link.de"> echo $allgemeininfo[3]; </A>
<A href="link.de"> echo $allgemeininfo[4]; </A>
PHP-Code:$info=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
//5
"text",
);
$allgemeinlinfo=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
);
das gleiche nochmal in englisch
die links für den sprachwechsel habe ich noch nicht. wollte erstmal das es überhaupt funktioniert bevor man die sprache noch umstellen kann. wie schon erwähnt müsste ich auch den sprachwechsel in eine javascript datei einbetten nur das halt php in einem javascript nicht läuft. und eine session läuft schon auf meiner seite wegen dem login.Zuletzt geändert von noob_in_php; 04.05.2007, 06:54.
Kommentar
-
Habe was rausgefunden:
wenn ich anstatt:
index.php
PHP-Code:switch ($_GET["lang"]) {
case "de":
include("http://www.domäne.de/lang_de.php");
break;
case "en":
include("http://www.domäne.de/lang_en.php");
break;
default:
include("http://www.domäne.de/lang_de.php");
break;
}
index.php
PHP-Code:switch ($_GET["lang"]) {
case "de":
include("lang_de.php");
break;
case "en":
include("lang_en.php");
break;
default:
include("lang_de.php");
break;
}
irgendwas mit den register_globals? wo schreibe ich das hin und wie siehts genau aus?Zuletzt geändert von noob_in_php; 04.05.2007, 06:55.
Kommentar
-
So langsam wird es was!
habe jetzt den link von dir wieder eingebaut:
<a href="index.php?lang=de">Deutsch</a> - <a href="index.php?lang=en">English</a>
jetzt lässt sich die sprache schon umschalten funkt problemlos!!
jetzt fehlt nur noch das mit dem pfad der lang dateien! ich möchte die gerne auf root liegen haben und mit alle tpls drauf zugreifen können. nur das dann kein text angeueigt wird. denke das liegt an den register_globals!
wie schreibe ich diese funktion und wohin? in die index, textdatei??
Kommentar
-
Habe jetzt versucht den befehl register_globals einzubinden!
zum einen in der index.php
PHP-Code:register_globals $firmeninfo, $allgemeininfo
switch ($_GET["lang"]) {
case "de":
include("http://www.domäne.de/lang_de.php");
break;
case "en":
include("http://www.domäne.de/lang_en.php");
break;
default:
include("http://www.domäne.de/lang_de.php");
break;
}
zum anderen in der text datei
PHP-Code:register_globals $firmeninfo, $allgemeininfo
$firmeninfo=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
//5
"text",
);
$allgemeininfo=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
);
Parse error: syntax error, unexpected T_VARIABLE in /is/htdocs/wp1050442_I4VP0FSVFT/lang_en.php on line 3
EDIT:
Brauche ich das register_globals überhaupt oder ist das unnötig? liegt es an was anderem, das die texte nicht eingebunden werden wenn ich mit der url arbeite?
wenn die textdateien im gleichen ordner liegen, dann funkt es bestens.
das problem ist, dass ich auf verschiedenen subseiten immer wieder die gleichen lang_ dateien einbinden möchte. so müsste ich dann für jedes tpl eigene lang dateien schreiben oder jedesmal die pfade anpassen.
mit dem einmaligen pfad http://domäne.de/lang_de.php für die switch funktion wäre alles viel einfacher.
Habs jetzt auch mit global, $global["info"] usw ausprobiert es funktioniert gar nichts. die texte werden einfach nicht übernomen. hat denn keiner mehr eine idee oder seit ihr schon alle schlafen gegangen?Zuletzt geändert von noob_in_php; 04.05.2007, 07:01.
Kommentar
-
-
ich würde sagen wenn
allow_url_fopen
auf 0 also Null steht in deinem server dann läuft das eventuell mit
deiner " include("http://www.domäne.de/lang_de.php"); " nicht
desewegen habe ich mir solch sachen damit erspart,
PHP-Code:<?php
function outride($item) {
$absolute_include="$item";
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false) $folder_depth = 1;
include(str_repeat("../", $folder_depth - 1) . $absolute_include);
}
if ( !isset($_SESSION['lang']) )
{
outride("lang_en.php");
$_SESSION['lang'] = "en";
}
else
{
outride("lang_".$_SESSION['lang'].".php");
}
?>
seite ein paar order tiefer stehen hast trotzdem erfolgreich includiert =)
zu dem thema mit den case, also ich bin icht script faulm aber warum
immer rmehr arbeit machen als nötig?
der CASE fall: <a></a> einfügen, case erweitern, und datei anlegen-> 3 schritte
mein fall: <a></a> einfügen und datei anlegen-> 2 schritte
und zu dem was DivDax meinte, warum zur action.php verlinken:
ich bin keine grösse freudin von request salate in der adress zeile
des browosers, meine projekte sind suchmachinen-freundlich
(das sie auch noch eine routine habe die prüft welche sprache der
user bzw bot läuft) (das hier sind nur snippets von) dewegen sind unsere projekte auch auf
verschiedensprachigen suchmachinen in ihren jeweiligen sprachen
zu finden, (die spracherkennungs-routine ist aber gleich eines der
ersten scripts die starten, wenn der user trotzdem eine andere
sprache wählen möchte kann er das auch tun
wie war das, um so kürzer die url um so besser kann man sich die
merken, also ich finde so schlecht ist sie nicht aber ich wollte nur
informieren ;P-wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>
Kommentar
-
Hallo habe jetzt mal deine variante probiert. es ist wie vorher, es kommen keine fehlermeldung, es wird aber auch kein text eingefügt.
hier der code im index:
PHP-Code:<?php
function outride($item) {
$absolute_include="$item";
$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false) $folder_depth = 1;
include(str_repeat("../", $folder_depth - 1) . $absolute_include);
}
if ( !isset($_SESSION['lang']) )
{
outride("lang_en.php");
$_SESSION['lang'] = "en";
}
else
{
outride("lang_".$_SESSION['lang'].".php");
}
?>
die links zum sprahwechsel.:
PHP-Code:<a href="index.php?lang=de">Deutsch</a> - <a href="index.php?lang=en">English</a>
die text dateien:
PHP-Code:<?php
$firmeninfo=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
//5
"text",
);
$allgemeininfo=array(
//0
//0
"text",
//1
"text",
//2
"text",
//3
"text",
//4
"text",
);
?>
PHP-Code:<H3><?php echo $firmeninfo[5]; ?></H3>
<P><?php echo $firmeninfo[0]; ?><BR><?php echo $firmeninfo[1]; ?><br><?php echo $firmeninfo[2]; ?><br><?php echo $firmeninfo[3]; ?><br><?php echo $firmeninfo[4]; ?></P>
Kommentar
-
Original geschrieben von noob_in_php
Hallo habe jetzt mal deine variante probiert. es ist wie vorher, es
kommen keine fehlermeldung, es wird aber auch kein text eingefügt.
PHP-Code:error_reporting(E_ALL);
var_dump($_SESSION);
dann schliesse bitte den browser damit die sessions geleert werden,
so die emedungen di edu jetzt bekommst poste diese mal,
und genau so klicke mal auf einen link mit action.php,
udn poste diese meldungen auch mal,
ansonsten geb mir mal nen anhang mit, ich schau mir das mal an =)
EDIT:
ich denke mal dass die kombination bei dir nicht ganz so möchte
deswegen, naj bei mir laufen alle =)-wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>
Kommentar
-
Habe das mal probiert und ganz oben vor dem html syntax geschrieben.
jetzt kommen auch mal ein paar nützliche meldungen (für euch zumindestens).
PHP-Code:Notice: Undefined variable: _SESSION in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 3
NULL
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 130
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131
Notice: Undefined variable: firmeninfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 131
Notice: Undefined variable: allgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 134
Notice: Undefined variable: allgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 135
Notice: Undefined variable: allgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 136
Notice: Undefined variable: allgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 137
Notice: Undefined variable: allgemeininfo in /is/htdocs/wp1050442_I4VP0FSVFT/phptest/index2.php on line 138
Kommentar
-
das sind keine fehler sondern nur hinweise auf schlampige programmierung. infos dazu findest du hier
aber das hier sollte dir zu denken geben:
PHP-Code:Notice: Undefined variable: _SESSION
gruß
peterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Kommentar
-
ich würde sagen das deine index die arrays nicht sieht, weil dies nicht
einen standard entspricht denn man beim programieren haben sollte ;P
ich bastel mal schnell was zusammen und lerne etwas draus =)
aber nutze das, weil nicht jeder würde so helfen
bis gleich-wissen was mann weiss und wissen was mann nicht weiss, das allein ist wissen...und eine stärke der FRAUEN!!! ;P- </n(R)icola>
Kommentar
Kommentar