Как отправить данные из html - формы на сервер?

Я абсолютный новичок в вебе, и у меня возник вопрос: допустим, у меня есть сайт на виртуальном хостинге, естественно с хранилищем файлов и базой данных MySql. На одной из страниц сайта есть форма ввода текста с кнопкой "отправить":

<form action = '?' method = 'post'>
    <input type = 'text'>
    <input type = 'submit' value = "Send">
</form>

Как реализовать отправку введенного пользователем текста на сервер по нажатию на "отправить"? Я хотел бы обработать этот текст так или иначе, и, например, сохранить в текстовом файле где-то на сервере (или же сохранить в базу данных). Можно ли сделать это посредством JavaScript-a?

Заранее большое спасибо!


Ответы (2 шт):

Автор решения: fortavey

Вообще это делается при прмощи серверного языка типа php. В методе action="" вы прописываете адрес где лежит код который должен принимать и обрабатывать данные формы. На javaScript вы можете перехватить данные отправляемые с формы, но опять же их нужно будет передавать на сервер для обработки(php, node.js и т.д.).

→ Ссылка
Автор решения: inject CR

у input есть 3 атрибута type name value

если указать value то в форме будет отправляться его значение обычно используют в скрытых input

но чтобы отправилось значение которое ввели в input value указывать не нужно

это будет выглядеть так

<form action = 'server.php' method = 'post'>
    <input type = 'text' name="your_name">
    <input type = 'submit' value = "Send">
</form>

name="your_name" преобразуется в GET параметр

то есть в ссылку которая выглядит так https://site.com/server.php?your_name=то_что_ввели_в_инпут

ну а потом эта ссылка отправляется в ajax запросе через js

document.addEventListener('DOMContentLoaded', function () {
    document.addEventListener('submit', function (e) {
        e.preventDefault();


        var urlsuccess = new URL("https://site.com/server.php");

        var $that   = e.target;
        var $inputs = $that.querySelectorAll('input');
        var $select = $that.querySelectorAll('select');

        $inputs.forEach(function(input) {

            urlsuccess.searchParams.set(input.name, input.value);

        })

        $select.forEach(function(select) {

            urlsuccess.searchParams.set(select.name, select.value);

        })

        console.log(urlsuccess + "")

        var xhr = new XMLHttpRequest();
        xhr.withCredentials = false;
        xhr.open("POST", urlsuccess, true);
        xhr.send();
    })
})

затем в server.php. мы ловим эти GET параметры

<?php


echo $_POST['your_name'];

а потом уже идет отправка в базу или запись в файл !

→ Ссылка