За последние 24 часа нас посетили 74625 программистов и 10147 роботов. Сейчас ищут 2345 программистов ...

Не получается реализовать добавление записей через форму

Тема в разделе "PHP для новичков", создана пользователем Sergooo, 14 янв 2018.

  1. Sergooo

    Sergooo Новичок

    С нами с:
    7 янв 2018
    Сообщения:
    8
    Симпатии:
    1
    Здравствуйте уважаемые форумчане!)
    Есть 2 файла
    1) Подключение к БД (la.php)
    2) Сама форма (last.php)

    Надо добавить данные через форму
    Ошибок никаких не выскакивает, но и при заполнении полей, и затем нажатия кнопки ничего не происходит, данные просто не добавляются
    В чем может быть проблема?

    la.php
    PHP:
    1. <meta charset="utf-8">
    2.  
    3. <form method="POST">
    4.  
    5. <?php
    6.  
    7. try {
    8.     $pdo = new PDO('mysql: host = localhost; port = 3310; dbname = db','root','');
    9.     echo "";
    10.  
    11. }
    12.  
    13. catch (PDOException $e) {
    14.     echo "Cant't connect";
    15.     die();
    16. }
    17.  
    18.     ?>
    19.  
    20. </form>
    last.php

    PHP:
    1. <meta charset="utf-8">
    2.  
    3. <form method="post">
    4.  
    5.     <table>
    6.         <tr>
    7.             <td>Название</td>
    8.             <td><input type="text" name="name" placeholder="Название новости"><br></td>
    9.         </tr>
    10.         <tr>
    11.             <td>Содержимое</td>
    12.             <td><textarea name="content" rows="10" cols="40" placeholder="Содержимое . . ."></textarea></td>
    13.         </tr>
    14.         <tr>
    15.             <td></td>
    16.             <td><input type="submit" name="add" value="Добавить"></td>
    17.         </tr>
    18.         <input type="hidden" name="data" value="<?php echo date('y-m-d') ?>">
    19.     </table>
    20.  
    21.     <?php
    22.  
    23.     require_once ("la.php");
    24.  
    25.     try {
    26.  
    27.         if ( empty($_POST['name'])) exit (" Не заполнено поле 'Название' ");
    28.         if ( empty($_POST['content'])) exit (" Не заполнено поле 'Содержимое' ");
    29.  
    30.         if ( isset($_POST['add']) ) {
    31.  
    32.             $query = " INSERT INTO news VALUES (NULL, :name, date('y-m-d')) ";
    33.             $news = $pdo->prepare($query);
    34.             $news->execute([':name' => $_POST['name']]);
    35.             echo $news->fetch();
    36.  
    37.             $news_id = $pdo->lastInsertId();
    38.             echo $news_id;
    39.  
    40.             $query = " INSERT INTO Contents VALUES ( NULL, :content, :news_id ) ";
    41.             $news = $pdo->prepare($query);
    42.             $news->execute([':content' => $_POST['content'], ':news_id' => $news_id]);
    43.  
    44.         }
    45.  
    46.     }
    47.     catch (PDOException $e) {
    48.  
    49.         echo " Ошибка выполнения запроса: " . $e->getMessage();
    50.  
    51.     }
    52.  
    53.     ?>
    54. </form>
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.843
    Симпатии:
    1.338
    Адрес:
    Лень
    Говнокод
     
  3. Danil005

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

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Подожди, а когда запросы на добавление так стали делаться? Я чего видимо не знаю...
    INSERT INTO news(`column1`,`column2`,`column3`) VALUES (NULL, :name, date('y-m-d'))
     
  4. Sergooo

    Sergooo Новичок

    С нами с:
    7 янв 2018
    Сообщения:
    8
    Симпатии:
    1
    Ну у меня способ короткой записи, так можно
     
    MouseZver нравится это.