Есть скрипт для ввода и сохранения закладок. Закладки выводятся в таблице с тремя полями: адрес, категория закладки и checkbox (какие закладки добавить к себе). При выводе страницы рекоммендуемых закладок (recommend.php) всё отлично выводиться, нужные данные вытаскиваются из базы данных и подставляются в поля. Но, при попытке добавить новую закладку оттуда к себе на страницу, то добавляется только адрес, а категория нет.
Вот скрипт, который отрисовывает таблицы с закладками, которые можно добавить:
function display_recommended_urls($bookmarks_array)
{
global $add_table;
$add_table = true;
?>
<br />
<form name='add_table' action='add_recommend.php' method='post'>
<table align="center" width=500 cellpadding=2 cellspacing=0>
<?php
$color = "#cccccc";
echo "<tr bgcolor=$color><td><strong>Recommendations</strong></td>";
echo "<td><strong>Category</strong></td>";
echo "<td><strong>Add</strong></td></tr>";
if (is_array($bookmarks_array) && count($bookmarks_array)>0)
{
var_dump($bookmarks_array); - **отсюда дамп**
foreach ($bookmarks_array as $url)
{
if ($color == "#cccccc")
$color = "#ffffff";
else
$color = "#cccccc";
foreach ($url as $bookmark => $category) {
echo "<tr bgcolor='$color'><td><a href=\"$bookmark\">".$bookmark."</a></td>";
echo "<td>".$category."</td>";
echo "<td><input type='checkbox' name=\"add_me[]\" value=\"$bookmark\"></td>";
Если сделать var_dump($bookmarks_array), то результат следующий:
array(2) {
[0]=> array(1) { ["BOOKMARK_1"]=> string(4) "TEST" }
[1]=> array(1) { ["BOOKMARK_1"]=> string(4) "TEST" }
}
А вот обработчик предыдущего кода:
$add_me = $_POST['add_me'];
$valid_user = $_SESSION['valid_user'];
do_html_header('Adding bookmarks');
check_valid_user();
if (!filled_out($_POST))
{
echo 'You have not chosen any bookmarks to add. Please try again.';
display_user_menu();
do_html_footer();
exit;
}
else
{
if (count($add_me) > 0)
{
foreach($add_me as $url)
{
if (add_recommend($valid_user, $url))
echo 'Added '.htmlspecialchars($url).'.<br />';
else
echo 'Could not add '.htmlspecialchars($url).'.<br />';
}
}
else
echo 'No bookmarks selected for adding';
}
// get the bookmarks this user has saved
if ($url_array = get_user_urls($valid_user))
display_user_urls($bookmarks_array);
display_user_menu();
do_html_footer();
?>
Вот код, который создает сам массив закладок:
function get_user_urls($username)
{
//extract from the database all the URLs this user has stored
$conn = db_connect();
$result = $conn->query( "select bm_URL, category
from bookmark
where username = '$username'");
if (!$result)
return false;
//create an array of the URLs
$url_array = array();
for ($count = 0; $row = $result->fetch_row(); ++$count) {
$bookmarks_array[$count] = array($row[0] => $row[1]);
}
return $bookmarks_array;
Помогите, пожалуйста, разобраться.. Как передать целый массив в обработчик, а не только ключ??
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Согласно данной статье https://habrcom/ru/post/321924/ реализуются оповещения
Есть проблема удаленной отладки проекта на плюсахРасклад таков: