Squeak.ru - шаблоны программирования

При отправке формы отправить данные формы в базу данных

У меня возникают проблемы (и опасения, я объясню ближе к концу) при попытке отправить данные формы в таблицу базы данных. При отправке он ничего не делает, в моей таблице не создаются новые строки.

У меня есть следующая структура папок:

template-parts
   form
      form.php
      send-to-database.php
snippets
    form-step-1.php
    form-step-2.php
    form-step-3.php

В моем database я создал таблицу под названием attendants. Любые данные отправки формы будут отправлены сюда.

form.php

<div class="form" id="rsvp-form">
    <div class="container">
        <div class="row">
            <div class="col-12">
                <form id="rsvpForm" action="send-to-database.php" method="post">
                    <?php get_template_part('template-parts/snippets/form-step-1'); ?>
                    <?php get_template_part('template-parts/snippets/form-step-2'); ?>
                    <?php get_template_part('template-parts/snippets/form-step-3'); ?>
                </form>
            </div>
        </div>
    </div>
</div>

form-step-1.php

<fieldset>
    <input type="text" name="fname" placeholder="First name*" required />
    <input type="text" name="lname" placeholder="Surname*" required />
    <input type="text" name="email" placeholder="Email address*" required />
    <textarea name="address" placeholder="Address*" required></textarea>
    <input type="button" name="next" class="next action-button" value="Next" />
</fieldset>

form-step-2.php

<fieldset>
    <div class="attending">
        <p>Which events will you be attending?</p>
        <div class="checkbox">
            <input type="checkbox" id="event1" name="jago" value="Jago">
            <label for="event1">Jago</label>
        </div>
        <div class="checkbox">
            <input type="checkbox" id="event2" name="wedding" value="Wedding">
            <label for="event2">Wedding</label>
        </div>
        <input type="text" name="attendee" placeholder="Attendee name">
    </div>
    <div class="coaches">
        <p>Will you be travelling by the coaches provided?</p>
        <div class="radio">
            <label>
                <input type="radio" id="travel_yes" name="travel" value="Yes">
                <span>Yes</span>
            </label>
        </div>
        <div class="radio">
            <label>
                <input type="radio" id="travel_no" name="travel" value="No">
                <span>No</span>
            </label>
        </div>
    </div>
    <input type="button" name="previous" class="previous action-button" value="Previous" />
    <input type="button" name="next" class="next action-button" value="Next" />
</fieldset>

form-step-3.php

отправить в базу данных.php

<?php

// fieldset 1
$first_name     = $_POST['fname']; // varchar
$last_name      = $_POST['lname']; // varchar
$email          = $_POST['email']; // varchar
$address        = $_POST['address']; // varchar

// fieldset 2
$jago           = $_POST['jago']; // boolean
$wedding        = $_POST['wedding']; // boolean
$attendee_name  = $_POST['attendee']; // varchar
$travel         = $_POST['travel']; // boolean

// fieldset 3
$note           = $_POST['other']; // varchar

// connect to database
$host = "localhost"; // Host name 
$username = "****"; // Mysql username 
$password = "****"; // Mysql password 
$db_name = "rsvp"; // Database name 

// Connect to server and select databse. 
$dbconn = mysqli_connect($host, $username, $password)or die("cannot connect"); 
mysqli_select_db($dbconn, $db_name)or die("cannot select DB"); 


$query = "INSERT INTO `attendants` (`first_name`, `last_name`, `email`, `address`, 'attending_jago', 'attending_wedding', 'attendee_name', 'additional_note') VALUES ('$first_name', '$last_name','$email', '$address', '$jago', '$wedding', '$attendee_name', '$travel', '$additional_note' )";  

var_dump($query);

mysqli_query($dbconn, $query);

?>

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

19.05.2020

  • У вас нет проверки ошибок. Вы должны отлавливать ошибки для функций mysqli. Начните с этого. Прочтите руководство. 19.05.2020
  • Обычные типы кнопок не имеют значений по умолчанию (как и submit). Может быть, это помогает? stackoverflow.com/questions/37736056/ 19.05.2020

Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...