在post上将值传递给php函数


Passing from values to a php function on post

由于某些原因,我无法从表单到下一页获取变量send.php我试图回显它们,但我看不到输出。用户进入日期周期,t1为下周期,t2为上周期。然后在文本框中输入消息。提交时,将日期周期插入到db select语句中以选择联系人。然后连同消息一起传递给sendbulk函数。我不能得到这些变量。有人发现什么了吗?

<FORM ACTION="send.php" METHOD="POST"> 
 <input type="text" name="t1" id="t1" placeholder="start"> 
 <img src='calendar.jpg'  onClick="start_cal('t1','calendar1');";>  
<div id="calendar1" style=""></div>
<input type="text" id="t2" name="t2" placeholder="stop"> 
 <img src='calendar.jpg'  onClick="start_cal('t2','calendar2');";>  
<div id="calendar2" style=""></div><br>
Your Message:<BR> 
<TEXTAREA NAME="message" COLS=50 ROWS=6></TEXTAREA> <P>
<INPUT TYPE="SUBMIT" VALUE="Send Message"> 
</FORM>

//send.php has the following code
   $message_sent = $_POST['message'];
   $t1 = $_POST['t1']; 
   $t2 = $_POST['t2'];
  //create database connection 
$sql = "SELECT DISTINCT msisdn FROM customer WHERE time_paid BETWEEN '$t1' AND '$t2'";
$result = mysqli_query($conn, $sql);
$resultarr = mysqli_fetch_assoc($result); // fetch data
  $mobilenumber = $resultarr['msisdn'];
  echo "$mobilenumber"; echo "<br>";

sendbulk();
function sendbulk() {

 global $message_sent;
 global $mobilenumber;
   echo "$message_sent";
   echo "$mobilenumber";
 $serviceArguments = array(
           "mobilenumber" => $mobilenumber,
           "message" => $message_sent
        );
$client = new SoapClient("http://.......");
$result = $client->process($serviceArguments);
$conn->close();
return $result;

}

检查下面的示例;

<?php
//send.php has the following code
$message_sent   = isset($_POST['message']) ? $_POST['message'] : 'There is no message';
$t1             = isset($_POST['t1']) ? $_POST['t1'] : 'default something';
$t2             = isset($_POST['t2']) ? $_POST['t2'] : 'default something';
//create database connection
$sql = "SELECT DISTINCT msisdn FROM customer WHERE time_paid BETWEEN '$t1' AND '$t2'";
$result = mysqli_query($conn, $sql);
$rowcount = mysqli_num_rows($result);
if($rowcount > 0){
    $resultarr = mysqli_fetch_assoc($result); // fetch data
    $mobilenumber = $resultarr['msisdn'];
    // parameters goes in function...
    sendbulk($mobilenumber, $message_sent); 
}else{
    echo 'Opppss!!! There is no result.';
}

function sendbulk($mobilenumber, $message_sent) {
    global $conn;
    echo "$message_sent";
    echo '<br />';
    echo "$mobilenumber";
    $serviceArguments = array(
        "mobilenumber" => $mobilenumber,
        "message" => $message_sent
    );
    $client = new SoapClient("http://.......");
    $result = $client->process($serviceArguments);
    $conn->close();
    return $result;
} 

让我们举一个基本的例子我不知道为什么会发生这种情况,但是过程是

<form enctype="multipart/form-data" action="send.php" method="post">
    <input type="text" name="t1" id="t1" placeholder="start">  
    <input type="submit" name="submit" id="submit"> 
</form>

这里enctype="multipart/form-data"你可以使用如果你想发送图像在send。php中你检查$_POST通过print_r($_POST)它会打印你在send中发送和接收的所有东西,php页面通过

$t1   = isset($_POST['t1']) ? $_POST['t1'] : 'There is no t1';

或者简单地像这样

 $t1 = $_POST['ti'] //then next procedures