[js][php]Zdarzenie onclick i zmiana wartości sesji.

0

Witam. Mam pewien problem. Otóż chce podpiąć pod zdarzenie "onclick" zmianę wartości dla sesji. Gdy klika się w link "English" wartość się zmienia, lecz dla linku "Polski" wartość nie chce się zmienić. Gdy pod link "English" podam wartość dla sesji pl to się zmienia. Czyli zdarzenie nie działa dla pierwszego linku. Ktoś wie co może być przyczyną ?

 
<a href="" onclick="<?php $_SESSION['langues'] = 'pl';?>"><img src="images/pl.png" alt="Polski" class="pl" /Polski</a> 
<a href="" onclick="<?php $_SESSION['langues'] = 'eng';?>"><img src="images/eng.png" alt="English" class="eng" />English</a>
1

W ten sposób tego nie zrobisz. Skrypty PHP są wykonywane po stronie serwera i wysyłane do klienta. Jak chcesz to zrobić w podobny sposób użyj AJAXa. Albo zwykły link.

0

Słaby jestem z php, ale kiedyś też było mi to potrzebne:

 <div id="languageDiv">
                    <?php
                        if($_SESSION['lg']=="pl") {
                             echo "<strong>Polski</strong> |";
                             echo " <a href=\"".$_SERVER['PHP_SELF']."?lg=en\">English</a>";
                        }
                        else {
                            echo " <a href=\"".$_SERVER['PHP_SELF']."?lg=pl\">Polski</a> |";
                            echo " <strong>English</strong>";
                        }
                    ?>
                    
                    
                </div>

i po stronie serwera:

<?php
  session_start();
    $languages = array("pl","en"); 
    if(!empty($_GET['lg']) && in_array($_GET['lg'],$languages))
    {
        $_SESSION['lg'] = $_GET['lg']; 
    }
    elseif(empty($_SESSION['lg']))
    { 
        $_SESSION['lg']="pl";
    }  
    include("lang/".$_SESSION['lg'].".php");  
?>

1 użytkowników online, w tym zalogowanych: 0, gości: 1