我是PHP的新手。希望有人能帮助我:)。
我有一个页面可以编辑3种不同语言的食谱列表,在我的数据库中,我将它们标记为ES表示西班牙语,EN表示英语,FR表示法语。
有没有办法根据用户选择使用特定查询?我想将值传递给URL
<p><a class="btn btn-success" href="recetas.php?ES" role="button">Editar »</a>
<a class="btn btn-success" href="recetas.php?EN" role="button">Edit »</a>
<a class="btn btn-success" href="recetas.php?FR" role="button">Éditer »</a></p>
提前致谢:) 此致
答案 0 :(得分:3)
使用命名的URL参数,如 lang ,如下所示:
href=recetas.php?lang=ES
然后,您可以使用$_GET['lang']
我建议使用会话,因此至少在用户会话期间保留该信息。
示例PHP代码:
<?php
// use sessions to keep track of user's language choice
session_start();
if (isset($_GET['lang'])) {
// set user's language if it was passed via URL
$_SESSION['lang'] = $_GET['lang'];
};
if (!isset($_SESSION['lang'])) {
// ask for language if choice has not yet been made
?>
<p>
<a class="btn btn-success"
href="recetas.php?lang=ES" role="button">Editar »</a>
<a class="btn btn-success"
href="recetas.php?lang=EN" role="button">Edit »</a>
<a class="btn btn-success"
href="recetas.php?lang=FR" role="button">Éditer »</a>
</p>
<?php
exit();
}
echo "Your language is " . $_SESSION['lang'];
// any other content goes here
?>
答案 1 :(得分:2)
您可以通过以下网址传递您的语言:
for (int y = 0; y < 9; ++y) {
for (int x = 0; x < 9; ++x) {
std::cout << char('1' + std::max(std::abs(x - 4), std::abs(y - 4)));
}
std::cout << std::endl;
}
然后通过你的PHP代码读取这个lang:
<p><a class="btn btn-success" href="recetas.php?lang=ES" role="button">Editar »</a>
答案 2 :(得分:1)
您未正确传递查询字符串。传递查询字符串的正确格式如下:
URL?key1=value1&key2=value2
您可能希望将您的语言传递给您的PHP脚本,例如?lang=en
。或者更好的是,如果您知道如何进行网址重写,则应该使您的网址像这样:URL/en/
。