首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$_POST数组在连续表单提交后未被更新

$_POST数组在连续表单提交后未被更新
EN

Stack Overflow用户
提问于 2022-07-29 06:18:38
回答 1查看 52关注 0票数 0

这里是用HTML制作的表单。它还在同一页中打印$_POST变量。任何实现此程序的人都希望$_POST中的值来自当前提交程序中的表单。实际上正在发生的是,即使在为空表单按下submit按钮之后,也会打印上一个数组。我正在应用服务器端验证,方法是检查$_POST数组中的空字段,然后为它们闪烁错误消息。这就是我为什么要发送空表格的原因。我需要做的第一件事是让$_POST变量携带上次提交的条目。请建议我在哪里犯了这个错误。HTML、CSS和PHP代码都附在后面。HTML和CSS代码片段被粘贴在单独的框中。PHP代码是与之一起编写的。另外,我还没有附加整个HTML代码。由于文件大约是9-10页,所以只附加了相关的HTML部分。[$_POST格式打印

代码语言:javascript
复制
<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>
代码语言:javascript
复制
<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

代码语言:javascript
复制
<?php
    echo "<pre>";
    print_r($_POST);
?>

<?php
    if($_POST['buttonsubmit']= "submit"){
            if($_POST['AdmissionType'] == ""){
                echo "Serverside Validation : Admission Type left empty";
            }   
        }
?>
EN

回答 1

Stack Overflow用户

发布于 2022-07-29 07:09:23

我认为您需要在提交后或在错误情况下将已发布的数据保存在表单中,并且不希望返回空数组。

您可以使用下面的片段来更好地理解

代码语言:javascript
复制
<?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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73162358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档