【问题标题】:Second submit button not showing [closed]第二个提交按钮未显示[关闭]
【发布时间】:2021-04-19 09:19:37
【问题描述】:

我创建了一个表单,它的方法是“POST”,动作是“#”,表示将数据发送到同一页面。 现在提交表格后, 第二个表单出现在下面,它从数据库中获取数据(根据第一个表单上的选择)并为用户提供编辑记录的控件。

一切运行良好 唯一的问题是“*第二个表单提交按钮不显示”

该特定页面的我的代码:(editcategory.php)

<?php
    require_once("admin_panel.php");
?>
<!DOCTYPE html>
<head>
    <title>Users</title>
    <link rel="stylesheet" href="css/footer.css">
    <style>
        .bodystart{
            margin-top:2%;
            margin-left:25%;
        }
        h1{
            font-size:xx-large;
        }
        table {
            border-collapse: separate;
            border-spacing:5px 5px;
            width: auto;
            color: #588c7e;
            font-family:"Lucida Console", "Courier New", monospace;
            font-size: 20px;
            text-align: left;
        }
        th {
            background-color: #588c7e;
            color: white;
        }
        option:nth-child(even) {
            background-color: #f2f2f2
        }
        .submitnewcat{
            margin-top:3%;
            color:#ffffff;
            padding:5px;
            border-radius:10 px;
            background-color:#4CAF50;
            cursor:pointer;
        }
        form{
            margin-top:5%;
        }
        input,select{
            border-style:inset;
            border-left:6px solid green;
            background-color:#ced6e0;
            padding: 12px 15px;
            border-radius:5px;
        }
        .catidcont{
            background-color:#c7ecee;
            cursor:default;
        }
        label{
            padding:12px 15px;
            font-size:larger;
            background-color:#130f40;
            color:#ffffff;
            border-radius:5px;
            border:2px solid red;
        }
    </style>
</head>
<body>
    <div class="bodystart">        
        <h1><i>Edit Category</i></h1>

        <form method="POST" action="#">
            <label>Select Category</label>
            <?php
                $sql = "SELECT * FROM category";
                $result = mysqli_query($db_conn,$sql);
                echo "<select name='catset' required>";
                echo "<option value=''>Select</option>";
                while ($row = $result->fetch_assoc()) {
                    echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
                }
                echo "</select>";
            ?>
            <button class="submitnewcat" name="submit3" type="submit" value="Submit">Fetch Details</button>
        </form>
        <?php
            if(isset($_POST["submit3"])==true){
                function validate($data){
                $data = trim($data);
                $data = stripslashes($data);
                $data = htmlspecialchars($data);
                return $data;
                }
                $x=(int)$_POST['catset'];
                $sql = "SELECT * FROM category a WHERE a.id=$x";
                $result = $db_conn->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    echo "<form method='POST' action='updatecategory.php'";
                        echo "<input type='hidden' readonly>";
                        echo "<label>Category ID</label>";
                        echo "<input type='number' name='catid' value=$x readonly style='cursor:no-drop;'><br><br><br>";
                        echo "<label>New Category Name</label>";
                        echo "<input type='text' name='newcatname' required placeholder='".$row['name']."'>";
                        echo "<label>Status</label>";
                        echo "<select name='newstat' required>";
                        if($row["status"]==1){
                            $catstat="Active";
                            
                            echo "<option value='".$row['status']."' selected>$catstat</option>";
                            echo "<option value='2'>Disabled</option>";
                        }
                        else{
                            $catstat="Disabled";
                            echo "<option value='1'>Active</option>";
                            echo "<option value='".$row['status']."' selected>$catstat</option>";
                        }
                        echo "<button class='submigtnewcat' name='submit4' type='submit' value='Submit'>Fetch Details</button>";
                    echo "</form>";
                }
                        
            } ?>
    </div>
</body>
<?php
require_once("include/footer.php");?>
</html>

我的页面片段

【问题讨论】:

  • 在输出第二个按钮之前不要关闭&lt;select&gt; 下拉菜单
  • 注意 想不出这是干什么用的? echo "&lt;input type='hidden' readonly&gt;";
  • 注意如果您将页脚放在&lt;/body&gt; 之后,您将看不到它
  • 您的脚本对SQL Injection Attack 开放。即使是if you are escaping inputs, its not safe!,您也应该始终在MYSQLI_PDO API 中使用prepared parameterized statements,而不是将用户提供的值连接到查询中。永远不要相信任何用户输入!
  • ` echo ""; ` 我将其用作伪代码,因为下一行 ` echo ""; ` 没有得到样式。 @RiggsFolly

标签: php form-submit submit-button


【解决方案1】:

有错误你没有关闭选择的标签所以按钮没有显示。

希望你能得到答案。

                  echo "<select name='newstat' required>";
                    if($row["status"]==1){
                        $catstat="Active";
                        
                        echo "<option value='".$row['status']."' selected>$catstat</option>";
                        echo "<option value='2'>Disabled</option>";
                    }
                    else{
                        $catstat="Disabled";
                        echo "<option value='1'>Active</option>";
                        echo "<option value='".$row['status']."' selected>$catstat</option>";
                    }
                   echo "</select>";

【讨论】:

  • 我们通常不会为 TYPO 提供答案。我们发表评论以使 OP 走上正轨,然后关闭并删除问题。 TYPO 对其他人几乎没有任何用处,这是 SO 的主要目的之一。
  • @RiggsFolly 谢谢以后如果有拼写错误我会在评论中给出答案。
  • 谢谢@RakeshkumarOad 现在工作正常
猜你喜欢
  • 2015-02-17
  • 2017-08-06
  • 2013-05-22
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 2018-08-25
  • 1970-01-01
相关资源
最近更新 更多