Вставка данных в базу данных с помощью html-форм

Ладно, ребята. Я новичок в php и других кодах на стороне сервера.

Я могу успешно подключиться к моему серверу и базе данных. Я могу использовать код вставки данных для вставки данных со значениями. Однако, когда я ввожу значения в код, это значения, которые отправляются в таблицу. Как использовать HTML-формы для отображения в таблице базы данных пользовательских данных, введенных в текстовые области?

Например,

когда я использую VALUE (‘Jon’,’ doe’), он отправляет эти значения в базу данных вместо текста, который я ввожу в текстовые области. Как исправить это, чтобы сказать, введите мое фактическое имя, когда я заполняю веб-форму?

В основном, я спрашиваю, как я буду использовать веб-формы для манипулирования данными в базу данных. Я так запуталась

3 ответа

  1. Рекомендуется использовать PDO (или, по крайней мере, mysqli) подготовленные заявления с первого дня. Таким образом, можно относительно безопасно вставлять данные в инструкции SQL. Пожалуйста, прочитайте официальное руководство . Имейте в виду, что PDO будет эмулировать подготовленные операторы по умолчанию. Это может привести к дыре в безопасности. Поэтому следует запросить переключение эмулированных подготовленных операторов.

    $options       = [PDO::ATTR_EMULATE_PREPARES => false];
    $pdoConnection = new PDO($dsn, $user, $password, $options);
    

    Затем можно создать подготовленные инструкции SQL, такие как:

    SELECT `id`, `value` FROM `myTable` WHERE `value` = ?;
    

    Пока водитель поддерживает реальные подготовленные заявления,»?»не будет подставляться напрямую, данные будут отдельно отправляться после заявления. Это позволяет избежать SQL-инъекции через атаки кодирования.

    Пожалуйста, прочитайте документацию, попробуйте и вернитесь, если у вас есть конкретные вопросы.

  2. На одной странице можно создать форму, которая отправляет входные данные на другую страницу. Например:

    индекс.РНР:

    <!DOCTYPE html>
    <html>
      <head></head>
      <body>
        <form method="POST" action="action.php">
          <input type="text" name="message">
          <input type="submit" value="Submit">
        </form>
      </body>
    </html>
    

    Ваш php/MySQL код будет существовать на странице под названием action.php, который будет находиться в том же каталоге, что и index.РНР.

    действие.РНР:

    <?php
    $message = $_POST['message'];
    /*now you can use the $message variable in your MySQL code to insert
    it into the database*/
    ?>
    

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

    Дайте мне знать, если это сработало для вас!

  3. При создании формы в формате html можно задать следующие входные данные:

    <input type="text" name="my_input">
    

    Чтобы получить доступ к содержимому этого конкретного ввода, после отправки формы. Использование в зависимости от метода, используемого формой$_GET['my_input'], или $_POST['my_input']для извлечения значения, введенного во входных данных формы.

    Попробуйте сыграть arround с этим примером:

    <form action="" method="get">
        <input type="text" name="field" value="<?php print $_GET['field']; ?>">
        <input type="submit" name="s" value="Go!">
    </form>
    <?php
    
    if (isset($_GET['s'])) {
        print "value of the text field: ".$_GET['field'];
    }