如何使用post方法

时间:2017-05-24 05:06:11

标签: php mysql

  1. 在while条件中输入字段我正在显示从表格中获取选项卡值的选项卡red_digid_info

    <form method="POST" action="" id="form_isp_status" onsubmit="submit_isp_status('form_isp_status');"">
                                <div class="row">
                                <label for="fromdate" class="col-sm-1 control-label">&nbsp;&nbsp;FROM DATE </label>
                                <label for="todate" class="col-sm-1 control-label" style="margin-left: 4cm;">&nbsp;&nbsp;TO DATE </label>
                                </div>
                                <div class="row">
                                <div class="col-sm-1">
                                <div class="input-group">
                                    <input type="text" class="form-control" id="fromdatepicker" name="fromdate" placeholder="yyyy-mm-dd"  style="width:200px;height:33px;"> 
                                    <span class="input-group-addon"><i class='glyphicon glyphicon-calendar'></i></span>
                                </div>
                                </div> 
                                <div class="col-sm-1" style="margin-left:4cm">
                                <div class="input-group">
                                    <input type="text" class="form-control" id="todatepicker" name="todate" placeholder="yyyy-mm-dd"  style="width:200px;height:33px;"> 
                                    <span class="input-group-addon"><i class='glyphicon glyphicon-calendar'></i></span>
                                </div>
                                </div>
                                <div class="col-sm-offset-2 col-sm-2">
                                        <input type="submit" value="ISP Status" class='btn btn-purple btn-rounded w-md  m-b-5' name="isp_button">
                                        <input type="hidden" value="1" name="pointer">
                                        <button type="button" class="btn btn-pink btn-rounded w-md  m-b-5" onclick="resetforms('form_isp_status')">Reset</button>
                                </div>
                                </div>
                                <div class="row">
                                <label for="isp" class="col-sm-1 control-label">&nbsp;&nbsp;SELECT ISP</label>
                                </div><div class="row">
        <div class="tab">
            <?php 
                $isp_tab = mysql_query("SELECT DISTINCT(`isp`) FROM `red_dgid_info`");
                while ($result = mysql_fetch_array($isp_tab)) {
                    $isp_value = $result[0];
                    echo '<input class="tablinks ion-social-rss" type="submit" name="isp_value[]" value="'.$isp_value.'">';
                    //echo '<input type="hidden" name="isp_hidden_value[]" value="'.$isp_value.'">';
                } 
            ?>
        </div>
    </div></form>
    
  2. 如果我点击选项卡的任何一个值我显示标签内容所以我需要php post方法中的提交按钮的值

    if($_REQUEST['pointer'] ==1)
    {   
    var_dump($_POST);                   
    //-------status criteria given---------------------// 
    
        //-----------isp tab submiited--------------// 
        if(isset($_POST['isp_value'])) 
        {
                print_r($_POST['isp_value']);
                $isp=$_POST['isp_value'];
    
        }
        //------------------end----------------------//
    
        //----------hidden value array--------------//
        /*$data = $_POST['isp_hidden_value'];
        foreach($data as $isp)
        {
            echo "isp_hidden =".$isp;
        }
        //---------------another way----------------//
        $isp_hidden = $_POST['isp_hidden_value'][$isp];*/
        //--------------end------------------------//
    
    $date= date("Y-m-d");;
    $fromdatepicker =$_POST['fromdate'];
    $todatepicker =$_POST['todate'];
    exit;
    }
    
  3. if(isset($ _ POST ['isp_value']))//如果条件失败则未设置isp_value不知道原因和解决方案

    1. 提交功能

      function submit_isp_status(formId) { 
      if($("#"+formId).valid() == true) {
         $.ajax({
              type: 'POST',
              url: 'webxstatus.php', //same page
              data: $("#"+formId).serialize(), 
              success: function(data) {
                  ..........
                                      }
              });
          }
      }
      
    2. 过去2天我一直坚持这一点,任何人都帮我解决这个问题。

5 个答案:

答案 0 :(得分:0)

     <?php $isp_tab=mysql_query("select distinct(isp) from red_dgid_info");
            while($result=mysql_fetch_array($isp_tab))
                {
echo'<form method="POST" action="" id="form_isp_status" onsubmit="submit_isp_status('form_isp_status');">';
            $isp_value =$result[0];
            echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value' value='$isp_value'></input>";
            echo '<input type="hidden" name="isp_hidden_value" value='$isp_value'>';
echo'</form>';
                }?>

在循环中放入表单

答案 1 :(得分:0)

 while($result=mysql_fetch_array($isp_tab))
            {
        $isp_value =$result[0];
        echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value' value='$isp_value'></input>";
        echo '<input type="hidden" name="isp_hidden_value[]" value='$isp_value'>';
            }?>


$data =$_POST['isp_hidden_value'];
    foreach($data as $isp)
    {
        echo "isp_hidden"=$isp;
    }

使用输入字段'isp_hidden_​​value'作为数组并使用foreach

获取值

答案 2 :(得分:0)

您需要将输入名称更改为此isp_value[]数组,这样只有您可以获得单击的提交按钮的值,否则您将只获得最后一个值。

echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value[]' value='$isp_value'></input>"

PHP:

print_r($_POST['isp_value']);

还有isp_hidden_​​value

中的次要单引号问题

echo '<input type="hidden" name="isp_hidden_value[]" value="'.$isp_value.'">';

请注意:

如果您当前需要点击提交按钮值,则意味着。如果不使用隐藏字段,它将收集所有值。只需在提交按钮中插入值,它将仅收集仅作为数组的固定点击元素值

试试这个例子:

<?php

if(isset($_POST['xyz']))
{

    print_r($_POST);
}
?>

 <form action="" method="post">

   <input type="submit" name="xyz[]" value="1" >
   <input type="submit" name="xyz[]" value="2" >

  </form>

答案 3 :(得分:0)

您需要对代码进行一些更改,之后我希望它能完美运行:

  1. 更改隐藏字段
  2. 从:

    echo '<input type="hidden" name="isp_hidden_value" value="$isp_value">';
    

    为:

    echo "<input type='hidden' name='isp_hidden_value[$isp_value]' value='" . $isp_value . "'>";
    
    1. 在post方法中更改隐藏字段的值分配
    2. 从:

      $isp_hidden = $_POST['isp_hidden_value'];

      为:

      $isp_hidden = $_POST['isp_hidden_value'][$isp];
      

      休息应该可以正常工作。

      此更改背后的逻辑是在为多个输入类型使用相同名称时使用数组。在这里,您使用的是一个平面变量,它只包含一个值,最后会分配给它。如果使用数组,它将包含多个值,并允许您获得所需的结果。

答案 4 :(得分:0)

你不需要一个隐藏的领域。带名字的按钮应该发送它的值。

<?php
var_dump($_POST);
?>
<form method="POST" action="">
<div class="row">
    <div class="tab">
        <input type="submit" name="button" value="test1">
        <input type="submit" name="button" value="test2">
    </div>
</div> </form>

请告诉我$_POST['button']test1test2

这意味着以下内容应该有效

<form method="POST" action="" id="form_isp_status" onsubmit="submit_isp_status('form_isp_status');"">
<div class="row">
    <div class="tab">
        <?php $isp_tab=mysql_query("select distinct(isp) from red_dgid_info");
        while($result=mysql_fetch_array($isp_tab))
        {
            $isp_value =$result[0];
            echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value' value='$isp_value'>";
            // note: input is a empty tag, meaning that it is not to be closed using </input> but by using />, which
            // is only relevant for XHTML
            }?>
    </div>
</div> </form>

编辑: 在服务器端,您唯一需要做的就是使用$_POST['isp_value']的值。

var_dump($_POST); // only to check the POST variable during debugging

if (isset($_POST['isp_value'])) { // Possibly not needed if there are no other submit buttons in the from, but good practice to check if something exists
    // do something using $_POST['isp_value']
}

作为旁注:mysql_ *已在PHP 5.5.0中弃用,并已在PHP 7.0中删除。建议使用MySQLiPDO代替