Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35

Обновление материала в БД из админки (не открывается форма)

19.11.2010, 18:09. Показов 1434. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему после выбора статьи не открывается форма ?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
if (!isset($id))
{
$result = mysql_query("SELECT id, title FROM news_t");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><a href='edit_news.php?id=%s'>%s</a></p>",$myrow["id"], $myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
print <<<HERE
<form name="form1" method="post" action="handler_news.php">
<p><label>Введите название новости<br>
<input type="text" name="title" id="title">
</label>
</p>
<p>
<label>Введите краткое описание новости<br>
<input type="text" name="meta_d" id="meta_d">
</label>
</p>
<p>
<label>Введите ключевые слова новости<br>
<input type="text" name="meta_k" id="meta_k">
</label>
</p>
<p>
<label>Введите дату добавления новости<br>
<input name="date" type="text" id="date" value="гггг-мм-дд">
</label>
</p>
<p>
<label>Введите краткое описание новости<br>
<textarea name="description" id="description" style="width: 95%; height: 150px;"></textarea>
</label>
</p>
<p>
<label>Введите текст новости<br>
<textarea name="text" id="text" style="width: 95%; height: 250px;"></textarea>
</label>
</p>
<p>
<label>Автор новости<br>
<input type="text" name="author" id="author">
</label>
</p>
<p>
<label><input type="submit" name="submit" id="submit" value="Добавить материал"></label>
</p>
</form>
HERE;
}
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2010, 18:09
Ответы с готовыми решениями:

Как в Joomla 3 сделать предварительный просмотр материала из админки?
В Wordpress есть ссылка на материал, по которой можно сразу его посмотреть из фронта, а в Joomla такого нет. Как решить проблему? Есть...

Обновление админки в django
Назрел вопрос относительно админки в джанго, суть в том что нужно дать возможность админу писать код, который бы отображался именно как...

Форма авторизации - вне зависимости от выбранного пользака, открывается одна и та же форма
Форма авторизации - вне зависимости от выбранного пользака, открывается одна и та же форма Есть два пользака - главбух и ведущий бух В...

10
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
19.11.2010, 18:29
потому что там стоит
PHP
1
if...else...
тоесть либо выводит статью либо форму.
0
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35
19.11.2010, 19:02  [ТС]
Там стоит
PHP
1
if (!isset($id))
т.е. если переменная получена то выводится форма, если нет то выводится список новостей которые можно исправить.Переменная вроде проходит, но форма не выводится.
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
19.11.2010, 23:56
Цитата Сообщение от lwpai_frimin Посмотреть сообщение
Переменная вроде проходит, но форма не выводится.
А что выводится вместо формы? Опять список?

Проверьте содержимое $id, все-таки. Мне думается, что вы не получаете ее из $_GET['id'].
1
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35
20.11.2010, 00:31  [ТС]
добавил
PHP
1
$id = $_GET['id'];
в начало страницы всё работает но почемуто у первых двух новостей не выводится "название новости" и "краткое описание новости" хотя везде всё одинаково.


Ещё здесь новость должна обновлятся в БД но оно пишет "Материал не обновлён" что нудно исправить?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php 
include ("parts/unit/db.php");//соединенин с базой данныйх
if (isset($_POST['title']))             {$title = $_POST['title']; if ($title == '') {unset($title);}}
if (isset($_POST['meta_d']))            {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);}}
if (isset($_POST['meta_k']))            {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);}}
if (isset($_POST['date']))              {$date = $_POST['date']; if ($date == '') {unset($date);}}
if (isset($_POST['description']))       {$description = $_POST['description']; if ($description == '') {unset($description);}}
if (isset($_POST['text']))              {$text = $_POST['text']; if ($text == '') {unset($text);}}
if (isset($_POST['author']))            {$author = $_POST['author']; if ($author == '') {unset($author);}}
if (isset($_POST['id']))                {$id = $_POST['id'];}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
<!-- иконка-->
<link rel="icon" href="css/ico.ico" type="image/x-icon">
<link rel="shortcut icon" href="css/ico.ico" type="image/x-icon">
<!--иконка конец-->
 
<title>Обработчик</title>
<link href="css/css.css" rel="stylesheet" type="text/css">
</head>
<body>
 
<!--шапка сайта-->
<?php 
include ("parts/unit/header.php")
?>
<!--шапка сайта конц-->
 
<!--блок меню-->
<?php 
include ("parts/unit/menu.php")
?>
<!--блок меню конц-->
 
    <div id="k3">
<div id="osnova">
<table width="100%">
<tr>
<td><h3  class='headline'>Добавить новость</h3></td>
</tr></table>
<?php
if (isset ($title) && isset ($meta_d) && isset ($meta_k) && isset ($date) && isset ($description) && isset ($text) && isset ($author) && isset ($id))
{
$result = mysql_query ("UPDATE news_t SET title='$title', meta_d='$meta_d', meta_k='$meta_k', date='$date', description='$description', text='$text', author='$author', WHERE id='$id'");
if ($result == 'true') {echo "<p>Материал обновлён</p>";}
else {echo "<p>Материал не обновлён</p>";}
}
else 
{
echo "<p>Не все поля были заполнены, пожалуйста заполните все поля</p>";
}
?>
<br>
</div>
    </div>
    
<!--рекламный блок-->
<?php 
include ("parts/unit/reklama.php")
?>
<!--рекламный блок конц-->
 
</body>
</html>
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.11.2010, 00:35
Цитата Сообщение от lwpai_frimin Посмотреть сообщение
в начало страницы всё работает но почемуто у первых двух новостей не выводится "название новости" и "краткое описание новости"
Ну, судя по фрагменту в начальном посте, ни в какой новости эти тексты выводиться не будут.

Не видно вообще, чтобы эти значения где-то получались из базы данных для текущей новости.
Да и в форме они нигде не выводятся.
1
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35
20.11.2010, 00:56  [ТС]
вот этом файле переменные вставляюся в форму и новость можно редактировать, а в первых двух новостях "название новости" и "краткое описание новости" в форму не вводятся,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
include ("parts/unit/db.php");//соединенин с базой данныйх
$id = $_GET['id'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 
<!-- иконка-->
<link rel="icon" href="css/ico.ico" type="image/x-icon">
<link rel="shortcut icon" href="css/ico.ico" type="image/x-icon">
<!--иконка конец-->
 
<title>Админка</title>
<link href="css/css.css" rel="stylesheet" type="text/css">
</head>
<body>
 
<!--шапка сайта-->
<?php 
include ("parts/unit/header.php")
?>
<!--шапка сайта конц-->
 
<!--блок меню-->
<?php 
include ("parts/unit/menu.php")
?>
<!--блок меню конц-->
 
    <div id="k3">
<div id="osnova">
<table width="100%">
<tr>
<td><h3  class="headline">Выберите новость для редактирования</h3></td>
</tr></table>
<?php
if (!isset($id))
{
$result = mysql_query("SELECT id, title FROM news_t");
$myrow = mysql_fetch_array($result);
do 
{
printf ("<p><a href='edit_news.php?id=%s'>%s</a></p>",$myrow["id"], $myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
$result = mysql_query("SELECT * FROM news_t WHERE id=$id");
$myrow = mysql_fetch_array($result);
print <<<HERE
<form name="form1" method="post" action="update_news.php">
<p><label>Введите название новости<br>
<input value="$myrow[title]" type="text" name="title" id="title">
</label>
</p>
<p>
<label>Введите краткое описание новости<br>
<input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d">
</label>
</p>
<p>
<label>Введите ключевые слова новости<br>
<input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k">
</label>
</p>
<p>
<label>Введите дату добавления новости<br>
<input value="$myrow[date]" name="date" type="text" id="date" value="гггг-мм-дд">
</label>
</p>
<p>
<label>Введите краткое описание новости<br>
<textarea name="description" id="description" style="width: 95%; height: 150px;">$myrow[description]</textarea>
</label>
</p>
<p>
<label>Введите текст новости<br>
<textarea name="text" id="text" style="width: 95%; height: 250px;">$myrow[text]</textarea>
</label>
</p>
<p>
<label>Автор новости<br>
<input value="$myrow[author]" type="text" name="author" id="author">
</label>
</p>
<input name="id" type="hidden" value="$myrow[id]">
<p>
<label><input type="submit" name="submit" id="submit" value="Сохранить изменения"></label>
</p>
</form>
HERE;
}
?>
<br>
</div>
    </div>
    
<!--рекламный блок-->
<?php 
include ("parts/unit/reklama.php")
?>
<!--рекламный блок конц-->
 
</body>
</html>
И посл добавления (если самому вписать "название новости" и "краткое описание новости") выводиться "Материал не обновлён"
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.11.2010, 01:25
А в БД попадает что-то?.. То, что выводит "Материал не обновлен" - это из-за логически неправильного сравнения ($result == 'true'). Напишите проще:
PHP
1
2
3
if ($result) {echo "<p>Материал обновлён</p>";}
else {echo "<p>Материал не обновлён</p>";}
}
А насчет того, что в первых двух новостях не выводятся какие-то поля - не знаю.. Проверьте все-таки наличие значений в БД - в коде причины этой проблемы я не нашел.
1
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35
20.11.2010, 01:45  [ТС]
В БД ничего не попадает.
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.11.2010, 11:20
Еще один косяк нашел:
PHP
1
$result = mysql_query ("UPDATE news_t SET title='$title', meta_d='$meta_d', meta_k='$meta_k', date='$date', description='$description', text='$text', author='$author', WHERE id='$id'");
Запятая перед WHERE - надо убрать.

А просто текстом вывести содержимое первых новостей не пробовали?
PHP
1
2
3
4
5
6
7
8
9
$res = mysql_query('select id from news_t limit 0, 3');
while ($row = mysql_fetch_assoc($res)) $ids[] = $row['id'];
 
foreach ($ids as $id) {
    $res = mysql_query("select title, meta_k, meta_d, description from news_t where id = '$id'");
    $rows[] = array_map('htmlspecialchars', mysql_fetch_assoc($res));
}
 
echo '<pre>'.print_r($rows, true).'</pre>';
1
 Аватар для lwpai_frimin
1 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 35
20.11.2010, 15:08  [ТС]
ostgals, спасибо тебе большое, всё обновляется, а с первымы поже попробую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2010, 15:08
Помогаю со студенческими работами здесь

Форма добавления материала на сайт посетителями!
Добрый день профи! Стоит задача добавить материал с фронта сайта. 2 поля с текстом 1 картинка, автор, дата. Чтобы на сайте статья...

Обновление материала каждые 10 секунд не перезагружая страницу
(cms joomla) вставил в материал php скрипт который с api binance выводит курс криптовалюты все нормально курс выводит вот только хотелось...

Вставка информации, которая открывается при нажатии на пункт меню, в текст материала
Здравствуйте! Есть пункт меню, при нажатии на который открывается страница с определённой информацией. Хотим в текст материала включить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru