用户在文本框中输入两个日期周期,SQL select 语句从中间输入的数据库中选取移动号码。我想选择它们并在页面上显示它们。在同一显示页面上,我有一个文本区域,用户可以在其中键入消息,并在提交时将其发送到这些选定的号码并显示手机号码。我在将$mobilenumber传递给函数 sendbulk 时遇到了挑战,该函数将消息发送到变量显示$mobilenumber手机号码。除了通过$mobilenumber之外,其他一切都还可以。我认为这是因为在页面加载以显示所选联系人后,在您提交批量功能的第二次加载时,$message的值已经丢失$mobilenumber。我该如何保存它。检查下面的示例代码并请提供建议。如何保存$mobilenumber,以便在第二次加载时它仍然被传递给函数 sendbulk()?任何人?
<?php
//Define variable and set to empty values
$message = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$message = test_input($_POST['message']);
echo "$message";
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$time1 = isset($_POST['t1']) ? $_POST['t1'] : 'default something missing';
$time2 = isset($_POST['t2']) ? $_POST['t2'] : 'default something missing';
//connection
$sql = "SELECT DISTINCT msisdn FROM customer WHERE DATE_FORMAT(time_paid, '%Y-%c-%e') BETWEEN ADDDATE('$time1',INTERVAL 0 HOUR) AND ADDDATE('$time2',INTERVAL '23:59' HOUR_MINUTE)";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo " Recipients: "; echo "$result->num_rows <br> <br>";
// output data of each row
while($row = $result->fetch_assoc()) {
$mobilenumber = $row['msisdn'];
echo "Mobile : " . "$mobilenumber" . "<br>";
}
} else {
echo "No Contacts to Display";
}
$conn->close();
sendbulk($mobilenumber,$message);
?>
<center></center> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<textarea name='message' rows="6" cols="60" placeholder="Please Type Your Message Here"></textarea>
<br><br>
<input type="submit" name="submit" value="Send Message">
</form></center>
<?php
function sendbulk($mobilenumber,$message) {
echo "$mobilenumber";
echo "$message";
$serviceArguments = array(
"mobilenumber" => $mobilenumber,
"message" => $message_sent
);
$client = new SoapClient("http://*******");
$result = $client->process($serviceArguments);
return $result;
}
您使用sessions
.
下面是一个示例代码:
<?php
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count'] += 1;
}
echo $_SESSION['count'];
?>
继续通过您的 Web 服务器重新加载此文件。您应该看到变量递增。
作为替代方法,您也可以使用 $_COOKIE
.唯一的区别是$_SESSION
保存在服务器端,在客户端无法访问。为了识别客户端,它会在客户端上存储该会话的 cookie。
另一方面,$_COOKIE
完全存储在客户端上,并由浏览器在每个请求时传递给服务器。
另请注意一个警告,不要超载您的会话变量或 cookie,因为它会影响您的响应时间。
另请注意,要访问会话的每个 PHP 文件中都需要session_start()
。