表格在同一页面上提交后如何显示消息
<?php
session_start();
include("includes/config.php");
if(isset($_POST['submit'])){
if (empty($username)){
$error1 = "Please enter username.";
header("location: index.php");
}
$username=mysqli_real_escape_string($con,$_POST['username']);
$password=mysqli_real_escape_string($con,$_POST['password']);
$sql="select * from admin_user where username='$username' and password='$password'";
$res=mysqli_query($con,$sql);
if (mysqli_num_rows($res)>0){
session_start();
$_SESSION["username"] = $username;
$_SESSION["id"] = $id;
$_SESSION['admin']['status']= true ;
header("location: dashboard.php");
}else{
$unsucess = "Invalid username or password.";
header("location: index.php");
}
}
?>
<?php if(!empty($error1)) {?>
<p><?php echo $error1; ?></p>
<?php } ?>
<form method ="post">
<div class="mb-3">
<label for="username" class="form-label">Username*</label>
<input type="text" name="username" class="form-control" id="username" placeholder="Enter username">
</div>
<div class="mb-3">
<label class="form-label" for="password-input">Password*</label>
<div class="position-relative auth-pass-inputgroup mb-3">
<input type="password" name="password" class="form-control pe-5" placeholder="Enter password" id="password">
<button class="btn btn-link position-absolute end-0 top-0 text-decoration-none text-muted shadow-none" type="button" id="password-addon"><i class="ri-eye-fill align-middle"></i></button>
</div>
</div>
<div class="mt-4">
<button class="btn btn-success w-100" name="submit" type="submit">Sign In</button>
</div>
</form>
我在同一页面上通过邮政方法提交表单。提交表格后,我检查一个条件,如果用户名为null,则显示$ error1 =“请输入用户名”;在表格之上的消息。我面临的问题是删除标头时(“位置:index.php”);在身体部分上正确显示的消息。但是,如果添加标头(“位置:index.php”);对于刷新页面,$ error1由于页面刷新而未显示。但是没有标头(“位置:index.php”);浏览器在刷新页面期间给出消息(要显示此页面,Firefox开发人员版本必须发送将重复任何动作(例如搜索或订单确认)的信息。)如何正确显示消息的任何建议以及如何防止信息提交表格(包括标题)(“位置:index.php”)之后重复采取行动;额外。 <代码>在此处输入代码
<?php
session_start();
include("includes/config.php");
if(isset($_POST['submit'])){
if (empty($username)){
$error1 = "Please enter username.";
header("location: index.php");
}
$username=mysqli_real_escape_string($con,$_POST['username']);
$password=mysqli_real_escape_string($con,$_POST['password']);
$sql="select * from admin_user where username='$username' and password='$password'";
$res=mysqli_query($con,$sql);
if (mysqli_num_rows($res)>0){
session_start();
$_SESSION["username"] = $username;
$_SESSION["id"] = $id;
$_SESSION['admin']['status']= true ;
header("location: dashboard.php");
}else{
$unsucess = "Invalid username or password.";
header("location: index.php");
}
}
?>
<?php if(!empty($error1)) {?>
<p><?php echo $error1; ?></p>
<?php } ?>
<form method ="post">
<div class="mb-3">
<label for="username" class="form-label">Username*</label>
<input type="text" name="username" class="form-control" id="username" placeholder="Enter username">
</div>
<div class="mb-3">
<label class="form-label" for="password-input">Password*</label>
<div class="position-relative auth-pass-inputgroup mb-3">
<input type="password" name="password" class="form-control pe-5" placeholder="Enter password" id="password">
<button class="btn btn-link position-absolute end-0 top-0 text-decoration-none text-muted shadow-none" type="button" id="password-addon"><i class="ri-eye-fill align-middle"></i></button>
</div>
</div>
<div class="mt-4">
<button class="btn btn-success w-100" name="submit" type="submit">Sign In</button>
</div>
</form>
i submit form via post method on same page. after submitting the form i check one condition if username is null then show $error1 = "Please enter username"; message on top of the form. the problem i face is when i remove header("location: index.php"); message shown properly on body section. but if add header("location: index.php"); for refreshing page $error1 not displaying because of page refresh. but without header("location: index.php"); browser give message during refresh page is (To display this page, Firefox Developer Edition must send information that will repeat any action (such as a search or order confirmation) that was performed earlier.) how to show message properly any suggestion and how to prevent repeat action after submitting form including header("location: index.php"); added. enter code here
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在会话中添加错误,并检查会话ISSET值ECHO错误和未设置错误会话会话
add error in session and check if session isset value echo error and unset error session