【问题标题】:How to pass text/variable from php script to input value?如何将文本/变量从 php 脚本传递到输入值?
【发布时间】:2020-04-09 01:28:15
【问题描述】:

当我单击编辑锚点时,我需要从 URL 获取 id 和 name,但我无法将数据发布到输入值以通过文本输入进行更新... 这是我的 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;
    }

【问题讨论】:

  • “网址名称”到底是什么意思?这里有一些关于 url php.net/manual/es/reserved.variables.server.php 的信息,explode() 也非常有用
  • 我的意思是我点击编辑锚点后使用 $_GET['id'] 从链接中获取 category_id 和 category_name 的信息

标签: php html


【解决方案1】:

如果我理解正确,我相信您希望根据 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;

【讨论】:

  • 首先,感谢您的努力......现在我的问题是如何发布我从链接或 url 框中获取的信息并将其发布在输入值上?
  • 如果你想把它放在表单中发布,我提供的答案是正确的。您是否尝试从 GET 请求发起 POST 请求?我不完全确定我是否遵循。
  • 我通过 IF (isset($_GET['edit']){echo $_GET['category_name'] 里面的值输入解决了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 2019-04-13
相关资源
最近更新 更多