JS PHP Как передать значение переменной из js в php?

sdfaw

Активный
Автор темы
718
150
Как передать значение переменной из js в php? вот у меня допустим есть инпут с названием "Name" нужно чтобы когда я вписывал туда что-то и нажимал на кнопку, этот текст передавался в php переменную и выводился через echo. искал в инете, но ничего не получается :(
 

sdfaw

Активный
Автор темы
718
150
HTML:
<form method="POST" action="script.php">
    <input type="text" name="Name">
    <input type="submit" name="submit" value="Нажми">
</form>


script.php:
<?php
echo $_POST['Name'];
а значение переменной как в таблицу mysql записать, вот код
PHP:
<?php
    $servername = "host";
    $database = "test";
    $username = "test123";
    $password = "test123456";
    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $database);
    // Check connection
    if (!$conn) {
          die("Connection failed: " . mysqli_connect_error());
    }

    echo "Connected successfully";

    $sql = "INSERT INTO users (password, name, email) VALUES ('12345a6', $_POST['Name'], 'test@gmail.com')";
    if (mysqli_query($conn, $sql)) {
          echo "New record created successfully";
    } else {
          echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    mysqli_close($conn); 
?>
как в name записать значение $_POST['Name'] ? чтобы при нажатии на кнопку записывалось в таблицу
 

Hatrig

Известный
38
43
а значение переменной как в таблицу mysql записать, вот код
PHP:
<?php
    $servername = "host";
    $database = "test";
    $username = "test123";
    $password = "test123456";
    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $database);
    // Check connection
    if (!$conn) {
          die("Connection failed: " . mysqli_connect_error());
    }

    echo "Connected successfully";

    $sql = "INSERT INTO users (password, name, email) VALUES ('12345a6', $_POST['Name'], 'test@gmail.com')";
    if (mysqli_query($conn, $sql)) {
          echo "New record created successfully";
    } else {
          echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    mysqli_close($conn);
?>
как в name записать значение $_POST['Name'] ? чтобы при нажатии на кнопку записывалось в таблицу


Делаешь все правильно, запиши значение инпута в переменную, а потом переменную вставляй в запрос. Перед строкой $sql = ... добавь $name = $_POST['NAME']; а потом подставь эту переменную в запрос уже.
 

Refraktor

Известный
137
72
Не понял при чём тут JS. HTML и PHP достаточно для этого. Впроем, как сделать тебе ответили.
P.S. Вопросы самые нубские, это база.
Вперёд учить основы: https://php.ru/manual/index.html
Ещё советую книгу "Скляр Дэвид - Изучаем РНР 7. Руководство по созданию интерактивных веб-сайтов".
 
Привет.
На JS посоветовал бы использовать плагин jQuery, очень удобный функционал.
Вставь этот код в <head>
HTML:
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
Далее, создай форму:
HTML:
<body>
<input type="text" id="form-input" placeholder="Твое значение">
<button id="form-button">Нажать</button>
</body>
P.S. Тут тег <form> можно не писать, этот тег лишь осуществляет перебор всех ключей-значений в <input>.
И далее, сделай "событие" на нажатие на кнопку:
JavaScript:
<script type="text/javascript">
    $('#form-button').click(function() {
        alert('Твой текст из <input>: ' + $('#form-input').val());
        $.ajax({
            url: 'https://api.vk.com', //указываешь свой сайт
            type: 'POST', //указываешь тип запроса GET или POST
            data: {text: $('#form-input').val()},
            success: function (data) {}, //тут твой код в случае успешного выполнения PHP-скрипта (ответ сервера 200)
            error: function(handler, exception) {}, //тут код при неудачном выполнении PHP-скрипта с ошибкой на сервере (ответ сервера любой кроме 200)
        });
    });
</script>
В итоге получаем такой код:
HTML:
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    </head>
    <body>
        <input type="text" id="form-input" placeholder="Твое значение"></input>
        <button id="form-button">Нажать</button>
        <script type="text/javascript">
            $('#form-button').click(function() {
                alert('Твой текст из <input>: ' + $('#form-input').val());
                $.ajax({
                    url: 'https://api.vk.com', //указываешь свой сайт
                    type: 'POST', //указываешь тип запроса GET или POST
                    data: {text: $('#form-input').val()},
                    success: function (data) {}, //тут твой код в случае успешного выполнения PHP-скрипта (ответ сервера 200)
                    error: function(handler, exception) {}, //тут код при неудачном выполнении PHP-скрипта с ошибкой на сервере (ответ сервера любой кроме 200)
                });
            });
        </script>
    </body>
</html>
 
Последнее редактирование:
  • Нравится
Реакции: madrasso