Php 刷新页面时显示提交操作消息

Php 刷新页面时显示提交操作消息,php,Php,刷新/重新加载页面时,会显示消息(主机名、用户名和数据库名为必填项)。我宁愿在提交表格后才显示信息 考虑一下我的index.php页面: // Create database $sql = "CREATE DATABASE $dbname"; if (mysqli_query($conn, $sql)) { echo "<div class='msg'>Database created successfully</div>"; } else { echo

刷新/重新加载页面时,会显示消息(主机名、用户名和数据库名为必填项)。我宁愿在提交表格后才显示信息

考虑一下我的index.php页面:
// Create database
$sql = "CREATE DATABASE $dbname";
if (mysqli_query($conn, $sql)) {
    echo "<div class='msg'>Database created successfully</div>";
} else {
    echo "<div class='msg'>Error creating database: " . mysqli_error($conn) ."</div>";
}

mysqli_close($conn);
}else{
echo "<div class='msg'>Host Name, User Name and Database Name are mandatory.</div>";
}
}?>
<form method="post" action="index.php" class="dbform" >
<table>
<tr><td>Host Name</td><td><input type="text" name="hostname" value="localhost"></td></tr>
<tr><td>User Name</td><td><input type="text" name="username"></td></tr>
<tr><td>Password</td><td><input type="text" name="pass"></td></tr>
<tr><td>Database Name</td><td><input type="text" name="dbname"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="subbtn" value="Create"></td></tr>
</table>
</form>
//创建数据库
$sql=“创建数据库$dbname”;
if(mysqli_查询($conn,$sql)){
echo“数据库创建成功”;
}否则{
echo“创建数据库时出错:“.mysqli_错误($conn)”;
}
mysqli_close($conn);
}否则{
echo“主机名、用户名和数据库名是必需的。”;
}
}?>
主机名
用户名
密码
数据库名称
预期行为:单击提交按钮时,如果字段为空,则显示主机名、用户名和数据库名为必填项。消息,工作正常


但当我刷新页面时,也会显示消息。我怎样才能解决这个问题

这是因为浏览器正在重新加载您在该页面上执行的最后一个请求,这是对
index.php
POST
请求。 当您点击“重新加载”时,它再次执行相同的请求

大多数浏览器在重新提交post请求之前要求确认

解决问题的方法是将消息存储在会话中并重定向到页面

开始添加PHP代码

session_start();
然后将消息存储在会话中

$_SESSION['msg'] = 'Your message';
然后在处理当前请求时重定向

header('Location: YOUR_URL');
die();
然后,您可以检查是否有任何消息和输出

<?php if (!empty($_SESSION['msg']) : ?>
    <div class='msg'><?php echo $_SESSION['msg']; ?></div>
<?php endif; ?>

close?>php-end-tag-before-tag-start我在代码中没有发现任何错误。提交的表单将一直存在,直到您浏览页面或取消设置上一篇文章。因此,每当您在提交表单后刷新时,提交函数调用scan,您就可以发布完整的
index.php
code?还有多少个
?这里没有完整的代码这是完整的代码。。