За последние 24 часа нас посетили 19066 программистов и 1614 роботов. Сейчас ищут 686 программистов ...

помогите поправить код php

Тема в разделе "Прочие вопросы по PHP", создана пользователем danila, 11 мар 2011.

  1. danila

    danila Активный пользователь

    С нами с:
    11 мар 2011
    Сообщения:
    5
    Симпатии:
    0
    добрый вечер.
    помогите переделать следующий код
    PHP:
    1.  
    2. <?
    3. function show_form(){
    4.         // подключаем файл с настройками подключения к БД
    5.         require '../inc/connect.php';
    6.  
    7.         //делаем запрос к БД, на данный момент на следующие две строчки не стоит обращать внимание, объясню их потом, посокльку на данном этапе они еще не используются.
    8.         $result = mysql_query("SELECT * FROM pages WHERE id = '".$_GET['id']."';", $link);
    9.         $row = mysql_fetch_array($result);
    10. ?>
    11. <!-- далее идет обычный HTML -->
    12. <form action="" method="POST">
    13. Загаловок:<input type="text name="title">
    14. <? ?>
    15. <?=stripslashes($rows['title']); ?>)
    16. <BR>
    17. содержание:<textarea rows="50" cols="20" class="enter">
    18. <?  ?>
    19. <?=stripslashes($rows['body']); ?>
    20. </textarea>
    21. <input type="hidden" name="id" value=" <?=$_GET['id']; ?> ">
    22. <input type="submit" value="ОТПРАВИТЬ"name="edir">
    23.  
    24. </form>
    25. <?php
    26. } // функция show_form() закончилась
    27.  
    28. function complete(){
    29.       // подключаем файл с настройками подключения - это мы уже знаем.
    30.       require '../inc/connect.php';
    31.  
    32.       // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
    33.       $result = mysql_query("SELECT * FROM pages WHERE id = '".$_POST['id']."';", $link);
    34.  
    35.       // перекидываем данные из MySQL в пхпшный ассоциативный массив
    36.       $row = mysql_fetch_array($result);
    37.  
    38.       // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
    39.       if(empty($row['id']))
    40.             $query = "INSERT INTO pages (body) VALUES ('".mysql_real_escape_string($_POST['body'])."'
    41. )";
    42.       // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
    43.       else
    44.             $query = "UPDATE pages SET
    45.                                     body = '".mysql_real_escape_string($_POST['body'])."'
    46.                     WHERE id = '".$_POST['id']."';";
    47.  
    48.       // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
    49.       mysql_query($query, $link);
    50.  
    51.       // ну и просто выводим крикливую надпись, что скрипт отработал
    52.       echo '<h3>Данные обновлены</h3>';
    53. }
    54. show_form();
    55. // если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
    56. if($_POST['edit']) complete();
    57. ?>
    есть 2 формы. загаловок статьи и сама новость.
    как можно изменить выше стоящий код чтобы загаловок заносился в базу дынных в свой столбец, а контент в свой.
    заранее всем спасибо.
    за помощь могу отослать немного WMR
     
  2. lispik

    lispik Активный пользователь

    С нами с:
    11 сен 2010
    Сообщения:
    17
    Симпатии:
    0
    PHP:
    1.  
    2. <!-- далее идет обычный HTML -->
    3.  <form action="" method="POST">
    4.  Загаловок:<input type="text" name="title">
    5.  <? ?>
    6.  <?=stripslashes($rows['title']); ?>)
    7.  <BR>
    8.  содержание:<textarea rows="50" cols="20" class="enter" name="body">
    9.  <?  ?>
    10.  <?=stripslashes($rows['body']); ?>
    11.  </textarea>
    12.  <input type="hidden" name="id" value=" <?=$_GET['id']; ?> ">
    13.  <input type="submit" value="ОТПРАВИТЬ" name="edir">
    14.  
    PHP:
    1.  
    2. <?php
    3. // ...
    4. function complete(){
    5.        // подключаем файл с настройками подключения - это мы уже знаем.
    6.        require '../inc/connect.php';
    7.  
    8.        // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
    9.        $result = mysql_query("SELECT * FROM pages WHERE id = '".$_POST['id']."';", $link);
    10.  
    11.        // перекидываем данные из MySQL в пхпшный ассоциативный массив
    12.        $row = mysql_fetch_array($result);
    13.  
    14.        // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
    15.        if(empty($row['id']))
    16.              $query = "INSERT INTO pages (title, body) VALUES ('".mysql_real_escape_string($_POST['title'])."', '".mysql_real_escape_string($_POST['body'])."')";
    17.        // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
    18.        else
    19.              $query = "UPDATE pages SET
    20.                                     title = '".mysql_real_escape_string($_POST['title'])."', body = '".mysql_real_escape_string($_POST['body'])."'
    21.                     WHERE id = '".$_POST['id']."';";
    22.  
    23.        // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
    24.        mysql_query($query, $link);
    25.  
    26.        // ну и просто выводим крикливую надпись, что скрипт отработал
    27.        echo '<h3>Данные обновлены</h3>';
    28.  }
    29. //..
    30. ?>
    31.  
    Начните с самых азов, запаситесь терпением и книгами. У вас каша в голове.
    В коде не разбирался, просто попытался додумать, вместо вас, основные моменты в этой задаче.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    +надо будет добавить столбец
     
  4. lispik

    lispik Активный пользователь

    С нами с:
    11 сен 2010
    Сообщения:
    17
    Симпатии:
    0
    Из-за этой строки:

    PHP:
    1.  
    2. <?=stripslashes($rows['title']); ?>)
    3.  
    я решил что title есть, раз он её в rows выводит. Ну и в именах переменных у ТС проблемы
    $row = mysql_fetch_array($result);
    а вывод через $rows
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    хз

    в таких случаях лучше звать [vs]-man или еще кого =) цена вопроса 10 баксов и работы на 14 секунд. а самому не понимая даже ничерта что и куда... зачем? =)
     
  6. danila

    danila Активный пользователь

    С нами с:
    11 мар 2011
    Сообщения:
    5
    Симпатии:
    0
    код действительно стал работать. спасибо огромное.
    но теперь в базе данных при добавлении новости отображается только порядковый номер добавленной статьи.
    а форма загаловок и основной текст не показанно в БД.
    помогите что мне теперь делать?
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не жадничать. =) предложи чутка монет и тебе за 5 минут сделают все как надо.
     
  8. lispik

    lispik Активный пользователь

    С нами с:
    11 сен 2010
    Сообщения:
    17
    Симпатии:
    0
    Что бы в дальнейшем понять что и куда. Я не совсем понял, вы на форуме людям помогаете или рекламируете вс-а и "еще кого"...

    danila
    Четко опишите структуру, т.к. не телепат.
     
  9. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    lispik
    помогать можно тому, кто интересуется и спрашивает конкретный вопрос.
    а подобные расплывчатые темы "помогите с кодом..." не пользуются популярностью,
    потому что вопрос задан не конкретный и нужно разбираться в куче кода.

    тем более, что помогли, частично заработало, дали направление...
    и что? - снова помогите...
     
  10. lispik

    lispik Активный пользователь

    С нами с:
    11 сен 2010
    Сообщения:
    17
    Симпатии:
    0
    Gromo
    Что бы правильно задать вопрос, нужно знать большую часть ответа.
    Иногда нужно давать пинки в нужном направлении. Я и не сказал что нужно сделать все, но клянчить и рекламировать - не правильно :) Но это мое мнение.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    у него единственная задача - залезть в пма и добавить столбик. Он этого не может и через форум - не сможет. Нужен кто-то, кто вживую в аське потыкает пальцем, имея доступ.

    Это раз. Два - хорошо бы оценить вобще целесообразность использования текущего движка и вероятно это не единственная проблема в нем.