从数据库结果生成URL

时间:2015-06-09 11:14:54

标签: php html

我正忙着为我们的内部wiki编写一个函数,用户可以从wiki下载pdf书籍。基本上他们需要的只是一个自定义网址,例如http://10.32.6.151/index.php?title=Category:Encashments&action=pdfbook,它将编译本书并使其可用。

为了让每个人的生活更轻松,我想通过创建一个下拉列表来简化流程,他们可以选择他们想要的书,然后点击链接下载

这是我的表单代码pdfbook.php

<?php

$servername = "XXXXXXXX";
$username = "wikidb";
$password = "XXXXXXXX";
$dbname = "XXXXXXX";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection Failed : " . $conn->connect_error);
}

$sql = "SELECT cat_id, cat_title FROM wiki_category";
$result = $conn->query($sql);

echo "<html>";
echo "<body>";
echo "<form action='generateurl.php' name='pdfbook' id='pdfbook' method='post'>";
echo "<select name='id'>";

while ($row = $result->fetch_assoc()) {

    unset($id, $name);
    $id = $row['cat_id'];
    $name = $row['cat_title'];
    echo '<option value="'.$id.'">'.$name.'</option>';

}
echo "<input type='submit' value='Submit'>";
echo "</select>";
echo "</form>";
echo "</body>";
echo "</html>";


?>

这是我的generateurl.php代码

<?php
$catname = $_POST[$id];
?>

<html>
<head>
<body>
<a class="button" type="button" href="http://10.32.6.151/index.php?title=Category:<?php echo $catname?>&action=pdfbook">Click here to Download the PDF Book</a>
</body>
</head>
</html>

当我点击提交按钮时,它会带我到带有URL的页面,但是网址不包含类别名称。因此,它不会从上一页中提取猫的名字或ID。

2 个答案:

答案 0 :(得分:2)

您没有正确接收POST。应该......

$catname = $_POST['id'];

答案 1 :(得分:1)

在generateurl.php页面中,您应该像这样检索POST参数: $ var = $ _POST ['varName'];

这应该为您提供从上一页传递的“id”。此外,在下载URL中显示此“id”将使下载URL如下所示: http://10.32.6.151/index.php?title=Category:9662&action=pdfbook 我的意思是,将显示一个数值。如果要显示类别的名称,则需要从类别表中获取该名称,并显示该名称而不是主键,即表格的ID。