Autor Zpráva
Trax
Profil
Ahoj, snažím se vyřešit problém PHP proměnných který načtu v indexu ( $jazyk ), ale nemůžu je použít v nově loadnutém ajaxu v divu #stranka

A ať hledám jak hledám, nevím si s tím rady. Budu rád za jakoukoliv pomoc, děkuji. :)

index.php:
<!doctype html>
<?php

    if (empty($_GET["j"])) {@$_GET["j"] = "en";}
    $jazyk = htmlspecialchars($_GET["j"]);

    if (empty($_GET["as"])) {@$_GET["as"] = "domu";}
    $stranka = htmlspecialchars($_GET["as"]);

    require_once("/scripts/header.php");
    require("/scripts/languages.php");
?>


<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <meta http-equiv="Content-Style-Type" content="text/css">
    <meta name="robots" content="index,follow">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <?php echo $header; ?>
    
    <title><?php echo $title; ?></title>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>

<body>
    <div id="stranka">
        <?php 
            if (file_exists("pages/".$stranka.".php")) {
                include("pages/".$stranka.".php");
            } 
        ?>
    </div>
    
    <nav>
        <a href="/cz/domu" class="link">Domů</a>
        <a href="/en/kontakt" class="link">Kontakt</a>
    </nav>
    
    <script src="/scripts/loader.js"></script>
</body>
</html>

.htaccess:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)$ index.php?j=$1&as=$2 [QSA]

languages.php:
<?php
    if ($jazyk == "cz") {
        $nadpis = "Toto je nadpis";
        $text = "
            <p>Toto je dlouhý text.</p>
            <p>Toto je druhý odstavec.</p>
        ";
    }
    else {
        $nadpis = "This is title";
        $text = "
            <p>This is long text.</p>
            <p>This is second paragraph.</p>
        ";
    }
?>


loader.js:
$(document).ready(function() {
    $('nav a.link').click(ZmenStranku);
});

function ZmenStranku() {
    var Link = $(this).attr('href');
    var Stranka = Link.substring(4);
    var Jazyk = Link.substring(1, 3);
    var Cesta = "/pages/" + Stranka + ".php";
    
    $.ajax({
        url: Cesta,
        type: "POST",
        success: function(result){
            $("#stranka").html(result);
            document.title = $('#page_wrap').data('title');
        },
        error: function() {
            alert("there is some error");
        }
    });
    
    return false;
}

Ukázka souboru php (např. domu.php):
<div id="page_wrap" data-title="Domů - NÁZEV WEBU">Domů</div>
<br>
<?php 
    echo "
        <br>TOTO JE jazyková sada: ".$jazyk."
        <br>nadpis: ".$nadpis."
        <br>text: ".$text."
    "; 

?>


Když například kliknu na odkaz Domů v navigaci, stránka se načte bez hodnot php proměnných.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0