Как сделать так, чтобы пользователь вводил текст в поле, чтобы текст отправлялся в базу данных, а затем отображался на странице? - PullRequest
0 голосов
/ 18 мая 2019

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

https://imgur.com/a/E8cKVj9

Я пытался использовать Javascript для отображения цитаты после ее отправки, однако при перезагрузке страницы все исчезает и не сохраняется в базе данных.

Ответы [ 3 ]

0 голосов
/ 18 мая 2019

Вы можете сделать это несколькими способами:

Стандартная HTML-форма

  1. Установить форму действия в файл php. Если вы нажмете «Отправить», страница будет обновлена.
  2. В php-скрипте вы должны быть уверены, что данные верны и сохраняют данные в базе или файл
  3. Перенаправить пользователя обратно на страницу с формой. Сильфон, который вы должны получить и показать строки из базы данных.

Использование AJAX - без обновления страницы

  1. После нажатия кнопки отправки вы можете проверить данные в Javascript и отправить их (через AJAX) в бэкэнд (скрипт php)
  2. В бэкэнде проверьте, в порядке ли данные, и сохраните их в db / file. Бэкэнд должен выводить результаты в формате JSON. Информация о сообщении и статус.

  3. В Javascript вы должны проанализировать результат JSON и выполнить некоторые действия, например, показать сообщение пользователю.

  4. Далее вы можете получить (через ajax) список всех (или, например, последних 10) строк из таблицы в базе данных

0 голосов
/ 18 мая 2019

Попробуйте следующее

first Установите форму действия в файл php (index.php) .

<form method="Post" action="form.php">
<fieldset class="form-group">
    <label for="label">Username</label>
    <input type="text" class="form-control" name="username" >
</fieldset>
<fieldset class="form-group">
    <label for="f">Lastname</label>
    <input type="text" class="form-control" name="lastname" >
</fieldset>
<button type="button" name="submit" class="btn btn-primary">Submit</button>

form.php это будет вторая страница

    <?php 
 $server="localhost";
 $username ="root";
 $password ="";
 $database ="you_database";

 $connection =mysqli_connect($server ,$username ,$password,$database); //start connection 

 if ($connection==TRUE) // test connection
  {
    echo "connected succefull";
 }


 if (isset($_POST['submit']))  //test submit name in form
 {
// declare parameter to initialized in text fild in form 
// and those fild should appear in serve (apache mysql)
    $username =$_POST['username'];
    $lastname =$_POST['lastname'];

    $query ="INSERT INTO your_table  VALUES(NULL, '$username' ,'$lastname' ");
    $result =mysqli_query($connection ,$query);

    if ($result == TRUE) {

        echo "data insert succefull";
    }else{
        echo "failed to insert";
    }

 }
 mysqli_error($connection);


 ?>
0 голосов
/ 18 мая 2019

Для достижения этой цели вам потребуется использовать код на стороне сервера

Javascript на стороне клиента, поэтому данные не могут быть вставлены в базу данных

Эти ссылки должны помочь вам достичь того, что вам нужно

https://www.w3schools.com/php/php_forms.asp

https://www.w3schools.com/php/php_mysql_insert.asp

https://www.w3schools.com/php/php_mysql_select.asp

...