Вопрос или проблема
Я пытаюсь разместить на странице пользовательскую форму и на той же странице хочу визуализировать результаты действия с формой.
Но я упускаю основы.
По сути, я хотел бы сделать что-то подобное. Это возможно?
<?php
if(isset($_REQUEST['submit_btn']))
{
echo "<div>";
$name = $_POST["names"];
echo "</div>";
}
?>
<form action="" method="POST">
<input type="text" name="names" id="names">
<input type="submit" value="отправить" name="submit_btn">
</form>
ДОПОЛНЕНИЕ (после ответа от Tejas gajjar):
Спасибо за ответ. На самом деле, мне не нужно взаимодействовать с БД, поэтому я удалил некоторые предложенные строки.
Если я использую это:
Вопрос: Знаете ли вы, почему это отображается так?:
ДОПОЛНЕНИЕ (после комментария от Milo):
Хорошо, это сработало. Я даже смог получить доступ к полю формы.
<form action="" method="POST">
<input type="text" name="names" id="names">
<input type="submit" value="отправить" name="submit_btn">
</form>
[insert_php]
if(isset($_REQUEST['submit_btn']))
{
echo "<div>";
$name = $_POST["names"];
echo "</br>";
echo "ОТВЕТ:</br></br>", $name;
echo "</div>";
}
[/insert_php]
Используйте этот код
<?php
if(isset($_REQUEST['submit_btn']))
{
echo "<div>";
$name = $_POST["names"];
echo "</div>";
$ins="insert into tablename (fieldname)values('$name') ";
$conn->query($ins);
?>
<script>
alert('успешно добавлено');
</script>
<?php
$sel="select * from tablename";
$r=$conn->query($sel);
while($u=$r->fetch_object())
{
echo $u->fieldname;
}
}
?>
<form action="" method="POST">
<input type="text" name="names" id="names">
<input type="submit" value="отправить" name="submit_btn">
</form>
Надеюсь, это поможет вам
Ответ или решение
Конечно, давайте рассмотрим, как реализовать форму, обработку данных и отображение результатов на одной странице с помощью PHP.
Пример PHP-кода с формой и отображением результатов
<?php
// Проверяем, была ли отправлена форма
if (isset($_REQUEST['submit_btn'])) {
// Получаем значение из поля формы
$name = htmlspecialchars($_POST["names"]); // Используем htmlspecialchars для экранирования ввода
echo "<div>";
echo "<br>";
echo "Ответ: <br><br>" . $name; // Отображаем полученное имя
echo "</div>";
}
?>
<form action="" method="POST">
<input type="text" name="names" id="names" required placeholder="Введите ваше имя">
<input type="submit" value="Отправить" name="submit_btn">
</form>
Объяснение кода
-
Проверка отправки формы:
- Используя
isset()
, мы проверяем, была ли отправлена форма через кнопкуsubmit_btn
.
- Используя
-
Получение данных:
- Извлекаем значение поля с именем
names
и применяемhtmlspecialchars()
, чтобы предотвратить XSS-атаки (внедрение скриптов).
- Извлекаем значение поля с именем
-
Отображение результата:
- Если форма отправлена, выводим значение в блоке
<div>
. Результат отображается непосредственно под формой на той же странице.
- Если форма отправлена, выводим значение в блоке
-
Форма:
- Форма создается с методом POST, чтобы данные не отображались в URL.
- Поле ввода имеет атрибут
required
, чтобы гарантировать, что пользователь введет значение.
Как предотвратить проблемы
- Если вы собираетесь работать с базой данных, обязательно используйте подготовленные запросы (prepared statements) для предотвращения SQL-инъекций.
- Не забудьте про проверку и экранирование пользовательского ввода.
Дополнительный комментарий
Если вы сталкиваетесь с проблемами рендеринга или отображения значений, убедитесь, что:
- Ваш сервер правильно настроен для обработки PHP файлов.
- Код находится в файле с расширением
.php
, а не.html
. - Убедитесь, что в HTML нет лишних символов или тегов, которые могут мешать работе скрипта.
Этот код должен помочь вам добиться желаемого результата, отображая форму и результаты на одной странице. Если у вас есть дополнительные вопросы или вам нужна помощь с конкретными аспектами, не стесняйтесь задать!