За последние 24 часа нас посетили 16439 программистов и 1551 робот. Сейчас ищут 2050 программистов ...

Добавление данных в бд из "Админблока".

Тема в разделе "MySQL", создана пользователем Cyrius, 3 июл 2016.

  1. Cyrius

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

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    Доброго вечера, при написании так называемого "Админблока" возникла непонятная мне ошибка.
    В коде страницы добавления материалов я написал вот такую форму:

    HTML:
    1.     <form action="adding_medic.php" method="POST">
    2.         <p>Введите название:  <input type="text" name="title"></p>
    3.         <p>Введите имя изображения (с разрешением):  <input type="text" name="imgdesc"></p>
    4.         <p>Введите описание:  <input type="text" name="desc"></p>
    5.         <p>Введите полное содержание:<br>  <textarea style="margin-left:30px" name="text"></textarea></p>
    6.         <p>Введите автора:  <input type="text" name="author"></p>
    7.         <p>Введите дату публикации:  <input type="text" name="date"></p>
    8.         <p><input type="submit" name="sub" value="Добавить рецепт"></p>
    9.    
    10.     </form>
    Конечно, у этой формы в целом имеются некоторые недостатки (например я пока не знаю, как сделать, чтобы картинку можно было вставлять не прописывая в поле <img src="">, перед этим занося ее в корневой каталог..), но с ними я планирую разобраться позже.

    В коде обработчика вот такой код:


    PHP:
    1.     <?php [/COLOR][/I][/COLOR][/COLOR][/I][/COLOR][/COLOR][/I][/COLOR][/COLOR][/I][/COLOR]
    2. [COLOR=#bfbfbf][I][COLOR=#000000][COLOR=#bfbfbf][I][COLOR=#000000][COLOR=#bfbfbf][I][COLOR=#000000][COLOR=#bfbfbf][I][COLOR=#000000]
    3. $db =  mysql_connect("localhost","php","12345");
    4. mysql_select_db("gr", $db);
    5. // На всякий случай прописываю..
    6. if (isset($_POST['title'])) {$title = $_POST['title']; if($title == ''){unset($title);}}
    7. if (isset($_POST['description'])) {$description = $_POST['description'];if($description == ''){unset($description);}}
    8. if (isset($_POST['date'])) {$date = $_POST['date']; if($date == ''){unset($date);}}
    9. if (isset($_POST['author'])) {$author = $_POST['author']; if($author == ''){unset($author);}}
    10. if (isset($_POST['text'])) {$text = $_POST['text']; if($text == ''){unset($text);}}
    11. if (isset($_POST['imgdesc'])) {$imgdesc = $_POST['imgdesc']; if($imgdesc == ''){unset($imgdesc);}}
    12.  
    13. if (isset($title)&& isset($date) && isset($description) && isset($author) && isset($imgdesc)){
    14. $result = mysql_query("INSERT INTO medic (title,imgdesc,description,date,author)
    15.    VALUES ('$title','$imgdesc','$desc','$date','$author')");
    16.    
    17.         if ($result == 'true'){
    18.             echo "Рецепт успешно добавлен!";
    19.         }
    20.       else {echo "Рецепт не был доваблен (result вернул false)";}
    21. }
    22.  
    23. else {
    24.     echo "Рецепт НЕ был добавлен";
    25. }
    26.         ?>


    Так вот, после заполнения формы обработчик выдает результат : "Рецепт НЕ был добавлен", что по моему мнению означает, что $result вернул как раз "true"! Подскажите пожалуйста, как исправить эту ошибку!
     
    #1 Cyrius, 3 июл 2016
    Последнее редактирование модератором: 3 июл 2016
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Текст серым специально чтобы себе глаза выколоть?
    PHP:
    1. if ($result == 'true')
    не надо так делать.
    PHP:
    1. if ($result === true)
    А это высказывание как само с собой, нормально дружит?)
    --- Добавлено ---
    Да, и пользуйтесь отладкой.
     
  4. Cyrius

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

    С нами с:
    3 июл 2016
    Сообщения:
    98
    Симпатии:
    4
    Это, чтобы не бросалось в глаза, так как практически не имеет отношение к проблеме.



    Да, наверное вы правы :) Но вроде все логично - если бы $result вернул false, то
    (судя по коду
    Код (Text):
    1. if ($result == 'true'){
    2.             echo "Рецепт успешно добавлен!";
    3.         }
    4.       else {echo "Рецепт не был доваблен (result вернул false)";}
    ) на экран выводилось бы "Рецепт не был доваблен (result вернул false)", не так ли?
    --- Добавлено ---
    Я еще начинающий программист) И ни разу не пользовался отладкой, да и, если честно не знаю что это такое...
     
  5. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @Cyrius, выше Денис дал ссылки. Ну и я в первом сообщении одну замену накалякал. Повнимательнее
     
  6. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Вникай в статьи и задавай вопросы если что не понятно