如何将文本/变量从PHP脚本传递到输入值?

时间:2020-04-09 01:28:15

标签: php html

当我单击编辑锚并且确实获得它时,我需要从URL获取ID和名称,但是我无法将数据发布到输入值以通过文本输入进行更新... 这是我的HTML表单:

<form action="" method="post">
  <div class="form-group">
   <label for="cc-payment" class="control-label mb-1">Category Name</label>
   <input id="cc-pament" name="category-name" type="text" class="form-control" value="">
  </div>
  <div>
   <button id="payment-button" type="submit" name="submit" class="btn btn-lg btn-info">Save
   </button>
  </div>
</form>

这是HTML TABLE,如果有isset,则具有编辑锚点

<thead>
 <tr>
   <th>ID</th>
   <th>Name</th>
   <th>Edit</th>
   <th>Delete</th>
 </tr>
</thead>
<tbody action="" method="get">
    <?php 
      $query = " select * from category ";
      $result = mysqli_query($conn,$query);
      while($cat = mysqli_fetch_assoc($result)){
        echo "<tr>";
        echo "<td>{$cat['cat_id']}</td>";
        echo "<td>{$cat['cat_name']}</td>";
        echo "<td><a href='?edit={$cat['cat_id']}&category_name={$cat['cat_name']}'  name='edit' 
              class='btn 
        btn-info'> Edit</a></td>";
        echo "<td><a href='delete_category.php?id={$cat['cat_id']}' class='btn btn-danger'>Delete</a> 
        </td>";
        echo "</tr>";
        }
    ?>
</tbody>

这是PHP代码

 if (isset($_GET['edit'])) {
    # code...
    $name= $_GET['category_name'];
    echo $_POST['category-name']= $name;
    }

1 个答案:

答案 0 :(得分:0)

如果我的理解正确,我相信您希望基于URL中的编辑值来填充表单上的类别名称字段。

如果是这样,则您拥有所需的大部分内容,只需将其插入HTML中(我假设表单也是PHP脚本的一部分)。

   <input id="cc-pament" name="category-name" type="text" class="form-control" value="<?= htmlentities($_GET["edit"]??"") ?>">

请务必使用htmlentities或类似的值对值进行编码,以避免XSS漏洞。

旁注,此行的目的是什么?

    echo $_POST['category-name']= $name;