2015-06-22 32 views
-2

我有多個PHP文件,需要使用session_start()來跟蹤網站語言。有兩個按鈕ENGGRE分配給$_SESSION['lang']的默認語言是英寸。當用戶點擊希臘語時,需要更新$_SESSION['lang'],並且需要顯示希臘語中的所有數據庫內容。如何使用html中的按鈕來保持用戶在php會話中選擇的語言

的functions.php

<?php 
include "connection.php"; 
session_start(); 

function getLang(){ 
    if (isset($_GET['lang'])){ 
     return $lang = $_GET['lang']; 
    } 
    else{ 
     return $lang='ENG'; 
    } 
} 

function getValue($name,$connection){ 
    $lang = getLang(); 
    $query = "SELECT Text FROM users WHERE Nickname='$name' AND Lang='$lang'"; 
    $result = mysqli_query($connection, $query); 
    $text = mysqli_fetch_assoc($result); 
    return checkText($text['Text'],$name,$connection); 
} 

function checkText($text,$name,$connection){ 
    if ($text==null){ 
     $sql = "SELECT Text FROM users WHERE Nickname='$name' AND Lang='Eng'"; 
     $result = mysqli_query($connection,$sql); 
     $text = mysqli_fetch_assoc($result); 
     return $text['Text']; 
    } 
    else{ 
     return $text; 
    } 
} 

function getPk($name,$connection){ 
    $lang = getLang(); 
    $query = "SELECT id FROM users WHERE Nickname='$name' AND Lang='$lang'"; 
    $result = mysqli_query($connection,$query); 
    $text = mysqli_fetch_assoc($result); 
    return $text['id']; 
} 

的index.php

<?php include "functions.php"; 
session_start(); 
$_SESSION['lang'] = 'ENG'; 
?> 

這是我開始的會話。

<script> 
    $(document).ready(function(){ 
     $('.lang').on('click',function(){ 
      var lang = $(this).attr('id'); 
     }); 
    }); 
</script> 

<script> 
    var pks = []; 
    var nicks = []; 
    $(document).ready(function(){ 
     $('#bt').on('click',function(){ 
      $('.to_edit').each(function(){ 
       var a = $(this).attr('data-pk'); 
       var nick = $(this).attr('data-name'); 
       $(this).wrapInner("<a class='edit1'></a>"); 
       $('.edit1').attr('data-type','text'); 
       pks.push(a); 
       nicks.push(nick); 
      }); 
      var i=0; 
      $('.edit1').each(function() { 
       $(this).attr('data-pk', pks[i]); 
       $(this).attr('data-name',nicks[i]); 
       i++; 
      }); 

      $.fn.editable.defaults.mode='inline'; 
      var options = {}; 
      options.url = 'update.php'; 
      $('.edit1').editable(options); 
     }); 
    }); 
</script> 

第一個腳本是我到目前爲止已經寫爲有ENG和GRE寫作的按鈕,第二個是內聯編輯用X-編輯。

下面是按鈕:

<button class="lang" id="En"><a href="?lang=ENG">ENG</a></button> 
<button class="lang" id="Gr"><a href="?lang=GRE">GRE</a></button> 

我的問題是如何獲得這ENGGRE按鈕的ID,如何更新$_SESSION[lang'],將我需要使用在session_start( )在所有文件中?

+3

你應該表現出你的代碼的例子迄今爲止,SO旨在幫助人們遇到的具體問題。對於你想要做的事情,有太多不同的場景,我們需要知道你想如何做。 –

+0

只提供必要的代碼 – Bugfixer

+0

對不起,傢伙仍然習慣堆棧溢出會做! –

回答

0

connection.phpfunctions.php像他們開始使用session_start()的權利,你應該總是包括在每一個文件,你有。

<?php 
    session_start(); 
    $servername = "localhost"; 
    $username = "root"; 
    .. 

在已包含在所有其他文件相同的文件,如果語言已經改變添加條件:

if(!isset($_SESSION['lang'])) { $_SESSION['lang'] = 'ENG'; } 
if(isset($_GET['lang'])) { 
    $_SESSION['lang'] = $_GET['lang']; 
} 
相關問題