2015-06-09 80 views
1

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

为了让大家的生活更轻松我希望简化通过创建一个下拉列表中的过程,他们可以选择他们想要的书,然后通过单击链接

在这里下载这是我的表单代码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> 

代码时,我点击提交按钮需要我通过对PA ge,但是URL不包含类别名称。所以它不会从前一页拉出猫名或ID。

+0

请提供更多信息 - 什么不起作用。您的表单是否按预期显示。您是否通过网址获取网页? URL链接是否正常工作? – MortimerCat

+0

@MortimerCat正在显示带有网址的页面。但是它生成的链接不起作用。所以它不拉动前一页的$ id并将其插入到网址 – Stroes

回答

2

您没有正确地拿起POST。应该是....

$catname = $_POST['id']; 
+0

谢谢,我也只是想通了。那就是当你不专心时会发生什么! – Stroes

1

在generateurl.php页面,你应该检索POST PARAM这样的: 是$ var = $ _ POST [ '的varName'];

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