这里是用HTML制作的表单。它还在同一页中打印$_POST变量。任何实现此程序的人都希望$_POST中的值来自当前提交程序中的表单。实际上正在发生的是,即使在为空表单按下submit按钮之后,也会打印上一个数组。我正在应用服务器端验证,方法是检查$_POST数组中的空字段,然后为它们闪烁错误消息。这就是我为什么要发送空表格的原因。我需要做的第一件事是让$_POST变量携带上次提交的条目。请建议我在哪里犯了这个错误。HTML、CSS和PHP代码都附在后面。HTML和CSS代码片段被粘贴在单独的框中。PHP代码是与之一起编写的。另外,我还没有附加整个HTML代码。由于文件大约是9-10页,所以只附加了相关的HTML部分。[$_POST格式打印
<style>
.required:after{
content:" *";
color: red;
font-size: 20px;
}
.header{
padding: 40px;
text-align: center;
background: #1abc9c;
color: white;
font-size: 30px;
}
.input-element{
height:26px;
font-size:14px;
}
.button {
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
.nav-item, nav-link{
color:blue;
font-size: 25px;
text-align: center;
}
.nav-item:hover, nav-link:hover, nav-item:focus, nav-item:focus{
color:red
}
</style><html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>School form</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src ="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src ="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<form name="myForm" action="index.php" method="POST" >
class="container">
<div class="row">
<div class="col-lg-2">
<div>
<label style="font-size:14px" class = "required" for="Admission Type">प्रवेश प्रकार(Admission Type)</label>
<select id="AdmissionType" name="AdmissionType" placeholder ="Admission Type" required class="input-element">
<option disabled selected value> -- select an option -- </option>
<?php
include 'variables.php';
foreach($fields['AdmissionType'] as $item){
echo "<option value='".$item."' style='font-size:14px'>".$item."</option>";
}
?>
</select>
</div>
</div>
<div class="col-lg-2">
<div>
<label style="font-size:14px"class="required">नामांकन संख्या(Enrollment Number)</label>
<input type="text" id = "EnrollmentNumber" name="EnrollmentNumber" required placeholder = "Enter Enrollment Number" class="input-element">
</div>
</div>
<div class="col-lg-2">
<div>
<label style="font-size:14px"class="required">ईमेल आईडी (Email Id)</label>
<input type="text" id = "EmailId" name="EmailId" required placeholder = "Enter Email Id" style="font-size:14px">
</div>
</div>
<div class="col-lg-2">
<div>
<label style="font-size:14px" for="Course" class="required">पाठ्यक्रम()Course</label>
<select name="Course" required placeholder="Course" class="input-element">
<option value=""> -- select an option -- </option>
<?php
include 'variables.php';
foreach($fields['Course'] as $item){
echo "<option value='".$item."' style='font-size:14px'>".$item."</option>";
}
?>
</select>
</div>
</div>
<div class="col-lg-2">
<div>
<label style="font-size:14px" for="Exam" class="required">परीक्षा(Exam)</label>
<select name="Exam" required placeholder="Select Exam" class="input-element">
<option disabled selected value> -- select an option -- </option>
<?php
include 'variables.php';
foreach($fields['Exam'] as $item){
echo "<option value='".$item."' style='font-size:14px'>".$item."</option>";
}
?>
</select>
</div>
</div>
</div>
<input type="submit" name="buttonsubmit" class="button" style="left:50%" value="SUBMIT">
</div>
</form>
</body>
</html>
]1
<?php
echo "<pre>";
print_r($_POST);
?>
<?php
if($_POST['buttonsubmit']= "submit"){
if($_POST['AdmissionType'] == ""){
echo "Serverside Validation : Admission Type left empty";
}
}
?>发布于 2022-07-29 07:09:23
我认为您需要在提交后或在错误情况下将已发布的数据保存在表单中,并且不希望返回空数组。
您可以使用下面的片段来更好地理解
<?php
// Init Default Array with blank values
$post_data = array('inputname_1'=>'','inputname_2'=>'',...'inputname_n'=>'');
if($_POST){
$post_data = $_POST;
// Here your post code
}
?>
<html>
<form name="myForm" action="index.php" method="POST">
<input name="inputname_1" value="<?=$post_data['inputname_1']?>">
<input name="inputname_2" value="<?=$post_data['inputname_2']?>">
...
<input name="inputname_n" value="<?=$post_data['inputname_n']?>">
<input type="submit" name="buttonsubmit" class="button" style="left:50%" value="SUBMIT">
</form>
</html>
https://stackoverflow.com/questions/73162358
复制相似问题