Я новичок в PHP, и я просто делаю простую веб-страницу формы ввода. проблема в том, что после того, как веб-сайт отправки отправится на пустую страницу, я хочу, чтобы он вернулся к исходному. Я прочитал здесь, что мне может помочь, добавив header() в мой код, но это не поможет. Вот мой код:Как вернуться на страницу после отправки формы с помощью PHP
<!DOCTYPE html>
<html>
<head>
<title> Sample Form </title>
<link href = "stl.css" rel = "stylesheet" type="text/css" />
</head>
<body>
<form method="post" action="connect.php">
<input class = "PaganForm" id = "name" type="text" name="name" value="">
<input class = "PaganForm" id = "img" type="text" name="img" value="">
<input class = "PaganForm" id = "dsc" type="text" name="dsc" value="">
<input type="submit" id = "SubmitButton" >
</form>
<?php
header("Location: http://localhost/simple-form.php");
exit;
$servername = 'localhost';
$username = 'root';
$password = '';
$database = 'cero_db';
$conn = new mysqli($servername, $username, $password,$database);
$sql = "SELECT * FROM pg";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$newName = $row['Name'];
$newLink = $row['Link'];
$newDsc = $row['Description'];
echo "<h1>".$newName."</h1>";
echo "<img src = \"".$newLink."\" />";
echo "<p>".$newDsc."</p>";
}
?>
<body>
</html>
Вот connect.php:
<?php
$name = $_POST["name"];
$lnk = $_POST["img"];
$dsc = $_POST["dsc"];
$servername = 'localhost';
$username = 'root';
$password = '';
$database = 'cero_db';
$conn = new mysqli($servername, $username, $password,$database);
$sql = "INSERT INTO pg (Name, Link, Description)
VALUES ('".$name."', '".$lnk."', '".$dsc."')";
$conn->query($sql);
?>
Любые предложения?
P.S. Я не мог найти вопросов, которые помогли мне, если это дубликат, просто свяжите оригинал, и я удалю это.
'Header()' должен быть добавлен __after__ код отправки. –
Проблема заключается в том, что функция header() после некоторого html. Вы не можете использовать заголовок после того, как вы что-то выдали. Вам нужно найти способ поместить заголовок полностью или использовать буферизацию вывода. Это широко обсуждается на SO –
Измените 'action =" connect.php "' на 'action =" simple-form.php "', потому что вы обрабатываете значения формы на самой странице, на которой вы разместили форму – elementzero23