用户说他住在哪个联邦州(德国)。 重要的代码非常简单:
echo "<a href=\"FirstLogin.php?Name=Baden-Würtemberg\">Baden-Würtemberg</a><br>";
echo "<a href=\"FirstLogin.php?Name=Bayern\">Bayern</a><br>";
echo "<a href=\"FirstLogin.php?Name=Berlin\">Berlin</a><br>";
echo "<a href=\"FirstLogin.php?Name=Brandenburg\">Brandenburg</a><br>";
echo "<a href=\"FirstLogin.php?Name=Bremen\">Bremen</a><br>";
...
exit (0);
用户在链接上显示他所居住的联邦州的名称,他将被重定向到FirstLogin.php,联邦州为$ _GET。
现在,问题:
在这个网站上,用户应该选择他所居住的城镇
在mysql数据库中保存所有城镇
将显示所有在用户所选择的联邦州的城镇:
$FederalState = $_GET["Name"];
$sql = "SELECT Towns FROM Towns WHERE Federal State = '$FederalState'";
foreach ($pdo->query($sql) as $row) {
$Towns[] = $row["Towns"];
}
for ($i=0;$i<count($Towns);$i++) {
$Town = $Towns[$i];
echo "<a href=\"NextPage.php?Name=$Town\">$Town</a><br>";
}
如果用户选择“拜仁”,“柏林”或其他正常的联邦州,那一切都运作良好。但是,如果用户选择联邦州 - (连字符或减号),它就不起作用!没有链接!
如果我做了
foreach ($pdo->query($sql) as $row) {
echo $row["Staedte"]."<br>";
}
联邦州的城镇只有在联邦政府没有分别减负( - )时才会显示。
我不知道如何使脚本工作。
请帮帮我,给我一个解决方案。
编辑1:
问题不是连字符,
问题是Baden-Würtemberg的ü,
我用“Nordrhein-Westfahlen”尝试了它并且它有效
但在开始时我使用了<meta charset="utf-8"/>
答案 0 :(得分:0)
而不是:
$FederalState = $_GET["Name"];
$sql = "SELECT Towns FROM Towns WHERE Federal State = '$FederalState'";
foreach ($pdo->query($sql) as $row) {
$Towns[] = $row["Towns"];
}
for ($i=0;$i<count($Towns);$i++) {
$Town = $Towns[$i];
echo "<a href=\"NextPage.php?Name=$Town\">$Town</a><br>";
}
试用此代码:
$pdo->exec("set names utf8");
$FederalState = urldecode ($_GET["Name"]);
$sql = "SELECT Towns FROM Towns WHERE Federal State = '$FederalState'";
foreach ($pdo->query($sql) as $row) {
$Towns[] = $row["Towns"];
}
for ($i=0;$i<count($Towns);$i++) {
$Town = $Towns[$i];
echo "<a href=\"NextPage.php?Name=$Town\">$Town</a><br>";
}
希望这对你有用......