2015-06-09 3 views
1

Я занят написанием функции для нашей внутренней вики, где пользователи могут загружать 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> 

Когда я нажимаю кнопку отправки он принимает меня до фасова ge с URL-адресом, однако URL-адрес не содержит названия категории. Поэтому он не вытаскивает имя или идентификатор кошки с предыдущей страницы.

+0

Просьба предоставить более подробную информацию - что не работает. Отображается ли ваша форма, как ожидалось. Вы получаете страницу с URL-адресом. Работает ли ссылка URL? – MortimerCat

+0

@MortimerCat отображается страница с URL-адресом. однако создаваемая им связь не работает. поэтому он не вытягивает $ id с предыдущей страницы и вставляет его в url – Stroes

ответ

2

Вы не правильно подбираете POST. Должно быть ....

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

Спасибо, я также просто понял это. Вот что происходит, когда вы не фокусируетесь! – Stroes

1

В generateurl.php странице, вы должны получить POST параметров, как это: $ Var = $ _POST [ 'имяПерем'];

Это должно дать вам идентификатор, переданный с предыдущей страницы. Кроме того, отображение этого «id» в URL-адресе загрузки сделает URL-адрес загрузки следующим образом: http://10.32.6.151/index.php?title=Category:9662&action=pdfbook Я имею в виду, что будет отображаться числовое значение. Если вы хотите отобразить название категории, это нужно извлечь из таблицы категорий и отобразить, что вместо первичного ключа, то есть идентификатора таблицы.

Смежные вопросы