Не могу понять почему выдает всегда список статей.. хотя при передаче параметра должен отображать заполненные поля. А если вместо if (isset($id) поставить if (!isset($id) то всегда выдает поля но они пустые... т.е. не заполняются с бдPHP код:
<?php
include ("../config.php");
if (!defined("IN_SITE")) { die("Access Denied"); }
session_start();
if (isset($_SESSION['user_id']))
{
include_once (DOC_ROOT.P_TPL."/meta.php");
include_once (DOC_ROOT.P_TPL."/top.php");
echo "$admin_panelinfo<br>";
print ("СТАТЬИ: Редактирование: <a href=".P_ADM."/>назад</a>");
if (isset($_GET['id'])) {$id = $_GET['id'];}
if (isset($id)){
$result = mysql_query("SELECT title,id FROM articles");
$myrow = mysql_fetch_array($result);
do {
printf ("<p><a href='edit_articles.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
} while ($myrow = mysql_fetch_array($result));
} else if (isset($id))
{
$result = mysql_query("SELECT * FROM articles WHERE id=$id");
$myrow = mysql_fetch_array($result);
printf ("
<a href=".P_ADM."/edit_articles.php>к выбору статьи</a>
<form name='form1' method='post' action='edit_yes_articles.php'>
<br><label>Название статьи</label><br><input value='$myrow[title]' type='text' name='title' id='title'>
<br><label>Категория</label><br><select name='id_cat' id='id_cat'>
<option value='1'>Html</option>
<option value='2'>CSS</option>
<option value='3'>JavaScript/JQuery</option>
<option value='4'>PHP</option>
<option value='5'>MySQL</option>
</select>
<br><label>Краткое описание</label><br><input value='$myrow[meta_description]' type='text' name='meta_description' id='meta_description'>
<br><label>Ключевые слова</label><br><input value='$myrow[meta_keywords]' type='text' name='meta_keywords' id='meta_keywords'>
<br><label>Дата добавления</label><br><input value='$myrow[date]' name='date' type='text' id='date' value='2007-01-27'>
<br><label>Краткое описание с абзацами</label><br><textarea name='description' id='description' cols='60' rows='10'>$myrow[description]</textarea>
<br><label>Полный текст с тэгами</label><br><textarea name='text' id='text' cols='60' rows='20'>$myrow[text]</textarea>
<br><label>Автор </label><input value='$myrow[author]' type='text' name='author' id='author'>
<br><label>Оригинал статьи</label><br><textarea name='url_origin_articles' id='url_origin_articles' cols='40' rows='5'>$myrow[url_origin_articles]'</textarea>
<br><label>Ссылки по теме</label><br><textarea name='related_links' id='related_links' cols='40' rows='5'>$myrow[related_links]'</textarea>
<input name='id' type='hidden' value='$myrow[id]'>
<br><label><input type='submit' name='submit' id='submit' value='Сохранить изменения'></label>
</p>
</form>
");
}
}
else
{
die('Доступ закрыт, даём ссылку на авторизацию. — <a href="login.php">Авторизоваться</a>');
}
include_once (DOC_ROOT.P_TPL."/bottom.php");
?>
- 01.01.2012 08:56
Последний раз редактировалось cOAPerator; 01.01.2012 в 09:00.
- 01.01.2012 12:51
И второй вопрос:
НЕ могу понять как сделать вывод текста в нормальном виде:
при добавлении текста она обрабатывается htmlspecialchars() и в базе уже сущности
при выводе из базы текст отображается нормально, т.е. например тег <br> так и отображается. Но если надо сделать перевод строки? или например надо не вывести тег br а обработать его? как тогда? - 01.01.2012 12:55
isset - Определяет, была ли установлена переменная..
PHP код:т.е. тебе получаеться тебе в 1 нужно поставить !isset($id)if (isset($_GET['id'])) {$id = $_GET['id'];}
if (isset($id)){
////////////////////////////////////////////////////////////////////////////////////////
/* тут ты проверил существет ли переменная, она сужествует значит этот код выполняется*/
$result = mysql_query("SELECT title,id FROM articles");
$myrow = mysql_fetch_array($result);
do {
printf ("<p><a href='edit_articles.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
} while ($myrow = mysql_fetch_array($result));
} else if (isset($id))
////////////////////////////////////////////////////////////////////////////////////////
/* опять проверил сужествет переменная, и опять условие правильно */
{
$result = mysql_query("SELECT * FROM articles WHERE id=$id");
$myrow = mysql_fetch_array($result);
printf ("
<a href=".P_ADM."/edit_articles.php>к выбору
попробуй вывести эту переменную перед обращением к бд... если все нормально и она есть, то посмотри правильно ли sql построен и берешь данные из бд...
---------- Сообщение добавлено 11:55 ---------- Предыдущее 11:51 ----------
Может поможет функция htmlspecialchars_decode($str)
Она обратно из сущностей преобразует в код
Получиться с предудущей функцией, тогда уже данные обрабатывай как тебе нужно, строковых функций много ) что именно нужно не понятно ) - 01.01.2012 12:57
assai, спасибо, с первым разобрался.
вот поправил вопрос:
НЕ могу понять как сделать вывод текста в нормальном виде:
при добавлении текста она обрабатывается htmlspecialchars() и в базе уже сущности
при выводе из базы без htmlspecialchars_decode() текст отображается нормально, т.е. например тег <br> так и отображается. Но если надо сделать перевод строки и использовать htmlspecialchars_decode() то он ВСЕ переводит! Весь текст. Или например надо не вывести тег br а обработать его в тексте в который уже включены теги br которые не должны обрабатываться? как тогда?Последний раз редактировалось cOAPerator; 01.01.2012 в 13:01.
- 01.01.2012 13:01
cOAPerator, да вроде ответил... или подробней опишите, что ты хочешь... вопрос частично не понятен... да и НГ... у меня щас голова ватная.. и спать охото опять)))... Удивился, что вас инетересует скрипт в 8 утра новогоднего утра )))
- 01.01.2012 13:22
assai, я компьютерный маньяк повернутый на программировании и ремонте компов )) и у нас ща 14:30 дня ))))
---------- Сообщение добавлено 14:13 ---------- Предыдущее 14:04 ----------
вот поправил вопрос:
НЕ могу понять как сделать вывод текста в нормальном виде:
при добавлении текста она обрабатывается htmlspecialchars() и в базе уже сущности
при выводе из базы без htmlspecialchars_decode() текст отображается нормально, т.е. например тег <br> так и отображается. Но если надо сделать перевод строки и использовать htmlspecialchars_decode() то он ВСЕ переводит! Весь текст. Или например надо не вывести тег br а обработать его в тексте в который уже включены теги br которые не должны обрабатываться? как тогда?
---------- Сообщение добавлено 14:22 ---------- Предыдущее 14:13 ----------
кстати:PHP код:нет, так как у вас не работает лучше вот так:if (isset($_GET['id'])) {$id = $_GET['id'];}
];}
if (isset($id)){
)){
////////////////////////////////////////////////////////////////////////////////////////
/* тут ты проверил существет ли переменная, она сужествует значит этот код выполняется*/
$result = mysql_query("SELECT title,id FROM articles");
);
$myrow = mysql_fetch_array($result);
);
do {
do {
printf ("<p><a href='edit_articles.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
]);
} while ($myrow = mysql_fetch_array($result));
));
} else if (isset($id))
))
////////////////////////////////////////////////////////////////////////////////////////
/* опять проверил сужествет переменная, и опять условие правильно */
{
{
$result = mysql_query("SELECT * FROM articles WHERE id=$id");
);
$myrow = mysql_fetch_array($result);
);
printf ("
"
<a href=".P_ADM."/edit_articles.php>к выбору
"/edit_articles.php>к выбору
т.е. тебе получаеться тебе в 1 нужно поставить !isset($id)
PHP код:просто я не там добавлял проверкуinclude ("../config.php");
if (!defined("IN_RAPSTOR")) { die("Access Denied"); }
session_start();
if (isset($_SESSION['user_id']))
{
include_once (DOC_ROOT.P_TPL."/meta.php");
include_once (DOC_ROOT.P_TPL."/top.php");
echo "$admin_panelinfo<br>";
print ("СТАТЬИ: Редактирование: <a href=".P_ADM."/>назад</a>");
if (!isset($_GET['id'])) {
$result = mysql_query("SELECT title,id FROM articles");
$myrow = mysql_fetch_array($result);
do {
printf ("<p><a href='edit_articles.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
} while ($myrow = mysql_fetch_array($result));
} else {
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM articles WHERE id=$id");
$myrow = mysql_fetch_array($result);
print
Последний раз редактировалось cOAPerator; 01.01.2012 в 13:13.
- 01.01.2012 13:29
хм ну тут либо может помочь использование str_ функций их много( может и str_replace поможет), щас не помню, алгортм такой, найти нужную подстроку(позицию), сдлеать замену или взять в переменную, обработать как надо и обратно вставить(в ту же позицию где уже была...)
либо preg_ функции их тоже несколько, они по регуляркам ищут, тут тоже в зависимости нужно ли все теги br, нужно их заменить, или заносить в массив или еще что... как бы вариаций много - 01.01.2012 13:35
assai, для меня это сложно пока еще.. чесслово)) ладно буду пробовать разбираться))
А что с переносами делать? при добавлении статьи ставлю энтером переносы, но они не учитываются при выводеПоследний раз редактировалось cOAPerator; 01.01.2012 в 13:42.
- 01.01.2012 20:02
Плиз, подскажите кто нибудь.... что с переносами делать? при добавлении статьи ставлю энтером переносы, но они не учитываются при выводе.
И что значит \r\n читал в мануале но не понял(Последний раз редактировалось cOAPerator; 01.01.2012 в 20:31.
- 01.01.2012 23:00
\r спецсимвол который говорит, что идет перевод коретки или вывода на новую строку
\n - тоже спецсимвол перевод каретки на новую строку (прыжок на новую строку)
Тут все понятно, на странице не видно будет как это выглядит... но если открыть исходник то поймешь...
поэтому как я понял, тебе просто нужно как-то вставить эти переносы, вместо энтера
---------- Сообщение добавлено 22:00 ---------- Предыдущее 21:52 ----------
может тебе поможет такая функция
nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки... nl2br($text);
или так
$text = "Данные из бд";
$text = str_replace("\n","<br>\n", $text);Спасибо сказали:
cOAPerator(02.01.2012),
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Не работает pr-cy | Софт, скрипты, сервисы | 7 | 08.08.2011 11:21 |
Не работает ICQ? | Оффтоп и свободные темы | 31 | 11.06.2011 19:11 |
Кто работает на Mac OS? | Оффтоп и свободные темы | 30 | 04.03.2010 17:48 |
АП тИЦ 24.12 - что работает, что - нет. | Апдейты Yandex | 39 | 27.12.2009 11:23 |
Не работает RSS | Обсуждение форума и ваши предложения | 4 | 15.12.2009 18:34 |