只有一个按钮提交不工作为什么?

时间:2016-11-02 11:01:57

标签: php html forms post submit

发送按钮值"submit"时遇到问题。 在实践中,我有这个HTML:

  <div class="" role="tabpanel" data-example-id="togglable-tabs">
      <ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
        <li role="presentation" class="active"><a href="#tab_content1" id="home-tab" role="tab" data-toggle="tab" aria-expanded="true">Modifica Testo</a>
        </li>
        <li role="presentation" class=""><a href="#tab_content2" role="tab" id="profile-tab" data-toggle="tab" aria-expanded="false">Modifica Foto</a>
        </li>
      </ul>
      <div id="myTabContent" class="tab-content">
          <div role="tabpanel" class="tab-pane fade active in" id="tab_content1" aria-labelledby="home-tab">
            <form action="update_chisiamo.php" class="form-horizontal form-label-left" method="post" enctype="multipart/form-data">
              <input type="hidden" name="idIto" value="<?php echo $res['idIto'];?>"/>
              <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12">Messaggio di Benvenuto</label>
                <div class="col-md-9 col-sm-9 col-xs-12">
                  <input type="text" class="form-control" name="benvenuto" value="<?php echo $res['benvenuto'];?>" placeholder="">
                </div>
              </div>
              <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12">Nome Pagina</label>
                <div class="col-md-9 col-sm-9 col-xs-12">
                  <input type="text" class="form-control" name="nome_pagina" value="<?php echo $res['titolo_page'];?>" placeholder="">
                </div>
              </div>
              <div class="form-group">
                <label class="control-label col-md-3 col-sm-3 col-xs-12">Descrizione</label>
                <div class="col-md-9 col-sm-9 col-xs-12">
                <textarea name="descrizione_page" class="form-control" placeholder=""><?php echo $res['descrizione_page'];?></textarea>
                </div>
              </div>
              <div class="ln_solid"></div>
              <div class="form-group">
                <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3">
                    <button type="submit" name="btn-upload" class="btn btn-success">Modifica</button>
                </div>
              </div>
            </form>            
          </div>
          <div role="tabpanel" class="tab-pane fade" id="tab_content2" aria-labelledby="profile-tab">
              <form action="update_imgchisiamo.php" class="form-horizontal form-label-left" method="post" enctype="multipart/form-data">
                <input type="hidden" name="id" value="<?php echo $res['id'];?>"/>
                <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12">File Foto</label>
                  <div class="col-md-9 col-sm-9 col-xs-12">
                    <?php echo $res['file'];?>
                  </div>
                </div>
                <div class="form-group">
                  <label class="control-label col-md-3 col-sm-3 col-xs-12">Aggiungi Foto</label>
                  <div class="col-md-9 col-sm-9 col-xs-12">
                    <input type="file" name="file" />
                  </div>
                </div>

                <div class="ln_solid"></div>
                <div class="form-group">
                  <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-3">
                    <button type="submit" name="btn-upload" class="btn btn-success">Modifica</button>
                  </div>
                </div>
            </form>
          </div>
      </div>
   </div>

两个标签允许您更改一方面的数据和另一方面的图片。 在表单的提交页面(不同)中,我有全局变量$ _POST的相同控件输入,这里是简单的代码:

             if(isset($_POST['btn-upload'])) {
               // Code
             }

问题在于第二种形式无法在$ _POST参数中发送提交按钮的名称。

尝试在着陆页上打印数组的内容我得到的结果是除$ _POST [ 'btn-upload']之外的所有值都没有设置。

我重申,对于第一种形式,没有问题。我多次查看代码,似乎没有问题。我无法理解什么是错的。

2 个答案:

答案 0 :(得分:0)

根据问题:

Trying to print the contents of the array on the landing page I get the result that all the values ​​are present except $ _POST [ 'btn-upload'] which is not set.

您无法获取提交内容,因为此处您没有为提交按钮添加

<button type="submit" value="ADDVALUE" name="btn-upload" class="btn btn-success">Modifica</button>

我在提交按钮中添加了值。再试一次你的代码。

答案 1 :(得分:-1)

对于第二种形式,您有一个隐藏字段(id)和一个文件字段。 $ _POST显示id值,但不显示文件值。 对于文件字段,您必须使用$ _FILES。 请参阅php.net中的this page和w3schools中可以提供帮助的here's a page