PHP: problem med logik och räckvidd [LÖST]

Här diskuteras programmering och utveckling
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

PHP: problem med logik och räckvidd [LÖST]

Inlägg av TicToc »

Är grön på PHP, tog ett tag att inse om man skulle skriva php i html, eller  'eka' html i php, jag vill stoppa in php i html.

Det hela går ut på att visa hemsidan i olika språk beroende på ursprung eller aktivt val, så långt fungerar det.
Med denna rad kan man göra ett aktivt val:

Kod: Markera allt

       [ <a href="/index2.php?lang=en">English</a> ~ <a href="/index2.php?lang=ru">Русский</a> ~ <a href="/index2.php?lang=sv">Svenska</a> ] 
Om det inte görs kollas webbläsarspråk här.

Kod: Markera allt

if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
}
else {
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lang = substr($lang, 0, 2);
}

switch ($lang) {
case "ru":
$title1 = "xxx";
$title2 = " - Проясненная тригонометрия";
    break;
case "sv":
$title1 = "xxx";
$title2 = " - Visualiserad Trigonometri";
    break;
default:
$title1 = "xxx";
$title2 = " - Visualized Trigonometry";
}
Det fungerar så här långt. Nu vill jag dock echo:a ut mina textsträngar på ställen bland html-taggarna.

Kod: Markera allt

  <body>
    <div id="Main">
      <h1>
--->         $title1 
      </h1>
      <h2>
--->         $title2
      </h2>
...
I verkligheten är det betydligt fler strängar än dessa två.
Det är nog ett räckviddsproblem som gör att jag inte kan echo:a mina strängar. Var kan jag sätta dessa så att jag kommer åt dem?
Jag specar dem gärna i en fil per språk. Har misslyckats med några include/define-försök också.
Senast redigerad av 1 TicToc, redigerad totalt 23 gånger.
Användarvisningsbild
Barre
Inlägg: 2298
Blev medlem: 13 dec 2006, 10:23
OS: Ubuntu
Ort: Stockholm
Kontakt:

SV: PHP: problem med logik och räckvidd

Inlägg av Barre »

Tjena trixon.

Det du kan göra på två sätt.

Ett sätt ät att lägga hela html-utskriften i en variabel och sen "eka" ut variabeln.
D.v.s. att "hela" php dokumentet är inkapslat med php taggarna.

Kod: Markera allt

<?php
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
}
else {
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lang = substr($lang, 0, 2);
}

switch ($lang) {
case "ru":
$title1 = "xxx";
$title2 = " - Проясненная тригонометрия";
    break;
case "sv":
$title1 = "xxx";
$title2 = " - Visualiserad Trigonometri";
    break;
default:
$title1 = "xxx";
$title2 = " - Visualized Trigonometry";
}

$html_ouput = "  <body>
    <div id="Main">
      <h1>
        $title1 
      </h1>
      <h2>
         $title2
      </h2>
......";

echo $html_ouput;
?>
Eller så måste du inkludera php-taggarna sam echo kommandot vid html koden:

Kod: Markera allt

<?php
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
}
else {
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$lang = substr($lang, 0, 2);
}

switch ($lang) {
case "ru":
$title1 = "xxx";
$title2 = " - Проясненная тригонометрия";
    break;
case "sv":
$title1 = "xxx";
$title2 = " - Visualiserad Trigonometri";
    break;
default:
$title1 = "xxx";
$title2 = " - Visualized Trigonometry";
}
?>

<body>
    <div id="Main">
      <h1>
        <?php echo $title1 ?>
      </h1>
      <h2>
         <?php echo $title2 ?>
      </h2>
......
Senast redigerad av 1 Barre, redigerad totalt 23 gånger.
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU
TicToc
Inlägg: 2266
Blev medlem: 27 dec 2006, 17:28
OS: Kubuntu
Utgåva: 20.04 Focal Fossa LTS

SV: PHP: problem med logik och räckvidd

Inlägg av TicToc »

Tack Barre!
Nu funkar det som jag vill, jag körde enl. alt. 2.
>Eller så måste du inkludera php-taggarna sam echo kommandot vid html koden:
Skriv svar

Återgå till "Programmering och webbdesign"