2015-06-16 184 views
0

我是PHP新手,希望有人能帮助我解决这个问题。PHP/JavaScript:如何将变量从一个页面传递到另一个页面

我有一个页面(index.php),用户可以在其中选择一种语言。 如果没有选择语言比页面URL只是index.php默认为英语。 如果他们选择的语言超出页面重新加载的范围,并且将变量?lang=xy添加到定义页面语言的URL中。 例如对于德语,页面URL将是index.php?lang=de

到目前为止,一切都按预期工作。

现在我在索引页面上有一个导航栏,它允许导航到所有保存为单独的php文件(如page1.php, page2.php, page3.php等)的其他页面。

如何管理,如果有人选择了索引页上的语言,然后导航到另一个页面该语言变量一起所有其它页面通过呢? 例如对于德语,其他页面应该是page1.php?lang=de, page2.php?lang=de, page3.php?lang=de

我知道我可以在每个页面上使用$_GET["lang"]来获取变量,但无法找到一种方法将它从索引页传递到使用PHP或JavaScript/jQuery,理想情况下,我可以设置这个更一般的而不是单独的每一个链接。

注:
我使用undordered名单与标准的链接创建我的导航栏,例如:

<li><a href="page1.php">Page1</a></li> 

有人可以帮助我?

非常感谢提前。

+1

您可以使用php会话 – Goikiu

+0

谢谢,Goikiu! – TaneMahuta

回答

0

您可以使用Cookie来这样做

setcookie(name, value, expire, path, domain, secure, httponly); 

即:

setcookie('language', 'german', 60000,"/"); 

,然后检查这个地方有

$_COOKIE["language"] 

http://php.net/manual/en/features.cookies.php参考

+0

非常感谢 - 这是完美的!你能解释'德国人'之后的部分是什么吗? – TaneMahuta

+0

这就是cookie在到期前持续多久,您需要创建另一个(以秒为单位),例如,60 * 60 * 24将持续一天。 –

+0

再次感谢杰克!得到它了。那么“/”是什么? – TaneMahuta

-1

如果您正在使用选择语言,只需添加onchange事件,然后将表单提交给索引。PHP

<form action="index.php"> 
    <select name="lang" onchange="javascript:this.form.submit()"> 
     <option value="en">English</option> 
     <option value="xy">XY</option> 
    </select> 
</form> 

,并在同一页面

<?php 
$lang = $_GET['lang']; 
if(empty($lang)){ 
    $lang = "en"; 
} 
?> 

然后通过$ LANG到要

<li><a href="page1.php?<?php echo $lang; ?>">Page1</a></li> 
0

您可以使用会话变量传递到任何页面,它更因为它是服务器端,因此比Cookie更安全,

示例:

帐数据后:

<?php 
    session_start(); 
     if(isset($_POST)){ 
     $var_name=$this->db->real_escape_string($_POST['input_name']); 
     $_SESSION['var1_sess']=true; 
     $_SESSION['var1_sess']=$var_name; 
     } 
?> 

:)在session_start(必须在文件的第一行。

+0

安全性在这里并不是一个真正的问题,只是存储一种语言。 –

相关问题