Не работает код

(Ответов: 12, Просмотров: 1718)
Страница 1 из 2 12 Последняя
  1. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Не могу понять почему выдает всегда список статей.. хотя при передаче параметра должен отображать заполненные поля. А если вместо 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");
    ?>
    Последний раз редактировалось cOAPerator; 01.01.2012 в 09:00.
    • 0
  2. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    И второй вопрос:
    НЕ могу понять как сделать вывод текста в нормальном виде:
    при добавлении текста она обрабатывается htmlspecialchars() и в базе уже сущности
    при выводе из базы текст отображается нормально, т.е. например тег <br> так и отображается. Но если надо сделать перевод строки? или например надо не вывести тег br а обработать его? как тогда?
    • 0
  3. Гуру Аватар для assai
    • Регистрация: 11.08.2011
    • Сообщений: 794
    • Репутация: 360
    isset - Определяет, была ли установлена ​​переменная..

    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 { 
    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>к выбору 
    т.е. тебе получаеться тебе в 1 нужно поставить !isset($id)


    Цитата Сообщение от cOAPerator Посмотреть сообщение
    то всегда выдает поля но они пустые... т.е. не заполняются с бд
    попробуй вывести эту переменную перед обращением к бд... если все нормально и она есть, то посмотри правильно ли sql построен и берешь данные из бд...

    ---------- Сообщение добавлено 11:55 ---------- Предыдущее 11:51 ----------

    Цитата Сообщение от cOAPerator Посмотреть сообщение
    НЕ могу понять как сделать вывод текста в нормальном виде:
    Может поможет функция htmlspecialchars_decode($str)
    Она обратно из сущностей преобразует в код
    Цитата Сообщение от cOAPerator Посмотреть сообщение
    или например надо не вывести тег br а обработать его? как тогда?
    Получиться с предудущей функцией, тогда уже данные обрабатывай как тебе нужно, строковых функций много ) что именно нужно не понятно )
    • 0
  4. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    assai, спасибо, с первым разобрался.
    вот поправил вопрос:
    НЕ могу понять как сделать вывод текста в нормальном виде:
    при добавлении текста она обрабатывается htmlspecialchars() и в базе уже сущности
    при выводе из базы без htmlspecialchars_decode() текст отображается нормально, т.е. например тег <br> так и отображается. Но если надо сделать перевод строки и использовать htmlspecialchars_decode() то он ВСЕ переводит! Весь текст. Или например надо не вывести тег br а обработать его в тексте в который уже включены теги br которые не должны обрабатываться? как тогда?
    Последний раз редактировалось cOAPerator; 01.01.2012 в 13:01.
    • 0
  5. Гуру Аватар для assai
    • Регистрация: 11.08.2011
    • Сообщений: 794
    • Репутация: 360
    cOAPerator, да вроде ответил... или подробней опишите, что ты хочешь... вопрос частично не понятен... да и НГ... у меня щас голова ватная.. и спать охото опять)))... Удивился, что вас инетересует скрипт в 8 утра новогоднего утра )))
    • 0
  6. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    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.
    • 0
  7. Гуру Аватар для assai
    • Регистрация: 11.08.2011
    • Сообщений: 794
    • Репутация: 360
    Цитата Сообщение от cOAPerator Посмотреть сообщение
    надо не вывести тег br а обработать его в тексте в который уже включены теги br
    хм ну тут либо может помочь использование str_ функций их много( может и str_replace поможет), щас не помню, алгортм такой, найти нужную подстроку(позицию), сдлеать замену или взять в переменную, обработать как надо и обратно вставить(в ту же позицию где уже была...)

    либо preg_ функции их тоже несколько, они по регуляркам ищут, тут тоже в зависимости нужно ли все теги br, нужно их заменить, или заносить в массив или еще что... как бы вариаций много
    • 0
  8. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    assai, для меня это сложно пока еще.. чесслово)) ладно буду пробовать разбираться))

    А что с переносами делать? при добавлении статьи ставлю энтером переносы, но они не учитываются при выводе
    Последний раз редактировалось cOAPerator; 01.01.2012 в 13:42.
    • 0
  9. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Плиз, подскажите кто нибудь.... что с переносами делать? при добавлении статьи ставлю энтером переносы, но они не учитываются при выводе.

    И что значит \r\n читал в мануале но не понял(
    Последний раз редактировалось cOAPerator; 01.01.2012 в 20:31.
    • 0
  10. Гуру Аватар для assai
    • Регистрация: 11.08.2011
    • Сообщений: 794
    • Репутация: 360
    Цитата Сообщение от cOAPerator Посмотреть сообщение
    \r\n
    \r спецсимвол который говорит, что идет перевод коретки или вывода на новую строку
    \n - тоже спецсимвол перевод каретки на новую строку (прыжок на новую строку)
    Тут все понятно, на странице не видно будет как это выглядит... но если открыть исходник то поймешь...

    поэтому как я понял, тебе просто нужно как-то вставить эти переносы, вместо энтера

    ---------- Сообщение добавлено 22:00 ---------- Предыдущее 21:52 ----------

    может тебе поможет такая функция
    nl2br — Вставляет HTML-код разрыва строки перед каждым переводом строки... nl2br($text);

    или так
    $text = "Данные из бд";
    $text = str_replace("\n","<br>\n", $text);
    • 1

    Спасибо сказали:

    cOAPerator(02.01.2012),
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Не работает 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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры