如何使用php获取所选文本框值的值

时间:2015-08-27 11:51:08

标签: php jquery forms post checkbox

我有属性列表,我得到符合我的选择标准的用户列表。

我需要向选定的用户发送邮件。

我检查所有选项以检查每个用户。

我有每个用户的文本框来更改租金值。

我选择了一些用户,然后点击发送,我需要在文本框中发送有价值的邮件。

我想获取所选文本框值以形成提交代码。

enter image description here

在上图中,每个属性都有一个复选框,checkbob用于检查所有属性。我有价格的文字框。

当我点击发送时,通过选择一些属性我想发送邮件发布的租金值

以下是示例代码。

    while($tenant = mysqli_fetch_array($result))
        {
        echo '
        <tr>

            <td>
                <a href="property.php?id='.$pro['id'].'"><img src="'.(($pro['image_1']) ? $pro['image_1'] : 'images/placeholder.png').'" alt="" width="100"></a>
            </td>

            <td><a href="#">'.$name['name'].$tenant['tenant_id'].' </a><br> '.$pro['name'].'</td>

            <td><b>'.$tenant['lease_exp'].'</b><br><i>'.$pro['ready'].'</i></td>

            <td>'.$pro['type'].'</td>

            <td><div class="price"><strong>$</strong><span>'.$tenant['rent_from'].'-'.$tenant['rent_to'].'</span></div><br><br><input type="text" name="new_rent'.$i.'" value='.$pro['rent'].' class="form-control" style="width:30%;" ></td>

            <td>
                <input type="checkbox" name="rent[]" id="rent'.$i.'" value="'.$tenant['tenant_id'].'"> Send

            </td>
        </tr>
        ';
    }

    <script>
    $(document).ready(function() {
    $('#all').change(function(){
    var ckb_status = $("#all").prop('checked');
    $('input[type="checkbox"]').prop("checked", ckb_status );
    });
    });
    </script>

    if(isset($_POST['submit'])) {
      if(!empty($_POST['rent'])) {
          print_r($_POST);
        foreach($_POST['rent'] as $check) {

            $tenant_profile = "SELECT * FROM tenant where id=".$check;
            $prof = mysqli_query($link, $tenant_profile);
            $profile = mysqli_fetch_array($prof);



            //echo $tenant_profile;
            //echo "</br>";
            //echo $pro['name'];

            echo $_POST['new_rent'];echo "</br>";

            $to      = $profile['email'];
            $subject = 'Price Change Alert';
            $header = "From: ".ADMIN_EMAIL."\r\n"; 
            $header.= "MIME-Version: 1.0\r\n"; 
            $header.= "Content-Type: text/plain; charset=utf-8\r\n"; 
            $header.= "X-Priority: 1\r\n"; 
            $message = '' ;
            $message .= "<div><p>Dear User there is a price drop for the property
            <a href='".$_SERVER['SERVER_NAME']."/property.php?id=".$pro['id']."'>".$pro['name']."</a></p>
            <p>Owner offering you ".$_POST['new_rent'].". </p>
            <p>please contact the owner for the complete details. </p>
            <p>Owner email id:#</div>";

            $mail1 = mail($to, $subject, $message, $header);

            if($mail1) { echo 'mail sent successfully'; }


        }// foreach
      } //empty checkbox check
    else  { echo "Plase Check Any Result"; }
    }//submit

2 个答案:

答案 0 :(得分:0)

Count how many checkbox are getting checked. 

$rent=$_POST['rent']; // Changes Done
$SelectedCheckbox=sizeof($rent); // Changes Done
for($i=0;$i<$SelectedCheckbox;$i++)
-----------------------------------------------------------------------
<?
while($tenant = mysqli_fetch_array($result))
        {?>
        <tr>
            <td>
                <a href="property.php?id='.$pro['id'].'">
                        <img src="images/placeholder.png" alt="" width="100">
                </a>
            </td>
            <td><a href="#"><?echo $name['name'].$tenant['tenant_id'];?></a><br><?echo $pro['name'];?></td>
            <td><b><?echo $tenant['lease_exp']?></b><br><i><?echo $pro['ready'];?></i></td>
            <td><?echo $pro['type'];?></td>
            <td>
                <div class="price"><strong>$</strong><span><?echo $tenant['rent_from'].'-'.$tenant['rent_to'];?></span></div><br><br>
                <input type="text" name="new_rent[]" value="<?echo $pro['rent']?>" class="form-control" style="width:30%;" ></td> //Changes Done
            <td>
                <input type="checkbox" name="rent[]" id="rent'.$i.'" value="<?echo $tenant['tenant_id'];?>"> Send
            </td>
        </tr>
        <?}>

    <script>
    $(document).ready(function() {
    $('#all').change(function(){
    var ckb_status = $("#all").prop('checked');
    $('input[type="checkbox"]').prop("checked", ckb_status );
    });
    });
    </script>

    if(isset($_POST['submit'])) 
    {
      if(!empty($_POST['rent'])) 
      {
        print_r($_POST);
        $rent=$_POST['rent']; // Changes Done
        $SelectedCheckbox=sizeof($rent); // Changes Done
        for($i=0;$i<$SelectedCheckbox;$i++) // Changes Done
        {
            $tenant_profile = "SELECT * FROM tenant where id=".$check;
            $prof = mysqli_query($link, $tenant_profile);
            $profile = mysqli_fetch_array($prof);

            echo $_POST['new_rent'];echo "</br>";

            $NewRent=$new_rent[$i]; //Changes Done

            $to      = $profile['email'];
            $subject = 'Price Change Alert';
            $header = "From: ".ADMIN_EMAIL."\r\n"; 
            $header.= "MIME-Version: 1.0\r\n"; 
            $header.= "Content-Type: text/plain; charset=utf-8\r\n"; 
            $header.= "X-Priority: 1\r\n"; 
            $message = '' ;
            $message .= "<div><p>Dear User there is a price drop for the property
            <a href='".$_SERVER['SERVER_NAME']."/property.php?id=".$pro['id']."'>".$pro['name']."</a></p>
            <p>Owner offering you ".$NewRent.". </p>
            <p>please contact the owner for the complete details. </p>
            <p>Owner email id:#</div>";

            $mail1 = mail($to, $subject, $message, $header);

            if($mail1) { echo 'mail sent successfully'; }


        }// for
      } //empty checkbox check
    else  { echo "Plase Check Any Result"; }
    }//submit

答案 1 :(得分:0)

$POST['new_rent']找不到任何内容,因为文本框的名称为new_rent$i

更好的方法是使用复选框和文本框的数组名称,并使用相同的$i作为数组索引。

$i = 0;
while($tenant = mysqli_fetch_array($result))
    {
    echo '
    <tr>

        <td>
            <a href="property.php?id='.$pro['id'].'"><img src="'.(($pro['image_1']) ? $pro['image_1'] : 'images/placeholder.png').'" alt="" width="100"></a>
        </td>

        <td><a href="#">'.$name['name'].$tenant['tenant_id'].' </a><br> '.$pro['name'].'</td>

        <td><b>'.$tenant['lease_exp'].'</b><br><i>'.$pro['ready'].'</i></td>

        <td>'.$pro['type'].'</td>

        <td><div class="price"><strong>$</strong><span>'.$tenant['rent_from'].'-'.$tenant['rent_to'].'</span></div><br><br><input type="text" name="new_rent['.$i.']" value='.$pro['rent'].' class="form-control" style="width:30%;" ></td>

        <td>
            <input type="checkbox" name="rent['.$i.']" id="rent'.$i.'" value="'.$tenant['tenant_id'].'"> Send

        </td>
    </tr>
    ';
    $i++;
}

然后你可以循环遍历数组并获得相应的输入。

foreach ($_POST['rent'] as $i => $check) {
    $new_rent = $_POST['new_rent'][$i];
    $tenant_profile = "SELECT * FROM tenant where id=".$check;
    $prof = mysqli_query($link, $tenant_profile);
    $profile = mysqli_fetch_array($prof);



    //echo $tenant_profile;
    //echo "</br>";
    //echo $pro['name'];

    echo $_POST['new_rent'];echo "</br>";

    $to      = $profile['email'];
    $subject = 'Price Change Alert';
    $header = "From: ".ADMIN_EMAIL."\r\n"; 
    $header.= "MIME-Version: 1.0\r\n"; 
    $header.= "Content-Type: text/plain; charset=utf-8\r\n"; 
    $header.= "X-Priority: 1\r\n"; 
    $message = '' ;
    $message .= "<div><p>Dear User there is a price drop for the property
    <a href='".$_SERVER['SERVER_NAME']."/property.php?id=".$pro['id']."'>".$pro['name']."</a></p>
    <p>Owner offering you ".$new_rent.". </p>
    <p>please contact the owner for the complete details. </p>
    <p>Owner email id:#</div>";

    $mail1 = mail($to, $subject, $message, $header);

    if($mail1) { echo 'mail sent successfully'; }


}// foreach