【问题标题】:Sending one more value via POST PHP通过 POST PHP 再发送一个值
【发布时间】:2025-12-11 00:20:18
【问题描述】:

这是我的第一篇文章,欢迎!

我正在为我的项目中的一个问题而苦苦挣扎。正如您在我的屏幕截图中看到的那样,我从数据库中获取的名称很少,并显示在主菜单中。单击“模态”按钮后,引导程序中的模态以 php 形式显示。用户可以输入一个 4 位数的密码,下一步是将此密码与数据库记录匹配。但是 2 个用户可以拥有相同的 pin,所以我不仅需要将 pin 与数据库进行比较,还需要比较名称。我不知道如何通过帖子发送“名称”值。这是我的代码和屏幕截图:

index.php:

  <?php 
 $data = $worker->select_workers();
$worker->show_workers($data);
$worker->show_modal();

worker.php:

<?php 
require_once('db.php');
class Worker extends db {

protected $select_workers;
    public function select_workers(){

                return $this->select_workers = $this->query('SELECT * FROM worker')->fetchAll();
    }

    public function show_workers($data){
        foreach ($data as $users) {
    echo '<p id="p_name">'.$users['name'].'</p><a id="button_modal" href="/?name='.$users['name'].'" type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Modal
</a><br>';

}
}
    public function show_modal(){
echo '<!-- Button trigger modal -->


<!-- Modal -->
<form action="test.php" id="submit_ajax" method="post">
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="modal_title" name="name"></h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <input id="hidden_name" type="text" value="" name="name" />
Hasło:<input type="text" name="password"><br>



      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button  type="submit" class="btn btn-primary">Przerwa/powrót</button>
        </form>
      </div>
    </div>
  </div>
</div>';
    }

Main menu of my application

我相信这个解决方案真的很简单,但像往常一样 - 我浪费了太多时间来处理那些不起作用的复杂事情。对不起我的英语,这不是我的母语:) 谢谢

【问题讨论】:

    标签: php html


    【解决方案1】:

    把值放在这里&lt;input id="hidden_name" type="text" value="&lt;?= $name ?&gt;" name="name" /&gt;,但是如果你从db中获取数据,使用ids而不是names不是更好吗?

    【讨论】:

    • 是的,当然。稍后我将在 ID 上更改它。如果我为每个显示的用户提供模式,你的回答会很好。我有一个模态,我想让它动态化。
    • 如果要使其动态化,则必须用jquery更改name-input的值。显示模态。
    • 将 data-user-id 属性放在模态触发按钮中,并在单击时将其与 jquery 一起使用
    • Modal 您还需要删除 id 或使它们像这个 id 一样唯一="button_modal'.$users['id'] '"
    • @RubenDanielyan 哦,没关系。我懂了。你的回答是最好的! ;)
    【解决方案2】:

    不干净的解决方案。让每个工人都成为模态。

    <?php 
    require_once('db.php');
    class Worker extends db {
    
    protected $select_workers;
        public function select_workers(){
    
                    return $this->select_workers = $this->query('SELECT * FROM worker')->fetchAll();
        }
    
        public function show_workers($data){
            $i=0;
            foreach ($data as $users) {
            $i++;
        echo '<p id="p_name">'.$users['name'].'</p><a id="button_modal" href="/?name='.$users['name'].'" type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal'.$i.'">
      Modal
    </a><br>
    <!-- Button trigger modal -->
    
    
    <!-- Modal -->
    <form action="test.php" id="submit_ajax" method="post">
    <div class="modal fade" id="exampleModal'.$i.'" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="modal_title" name="name"></h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <input id="hidden_name" type="text" value="'.$users['name'].'" name="name" />
    Hasło:<input type="text" name="password"><br>
    
    
    
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            <button  type="submit" class="btn btn-primary">Przerwa/powrót</button>
            </form>
          </div>
        </div>
      </div>
    </div>';
        }
    

    【讨论】:

    • 哦。这似乎是我的问题的解决方案,但我失去了我的动态模式的概念。
    • 看看这个解决方案*.com/a/38221097/4173464