用户在文本框中输入两个日期句点,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;
}
答案 0 :(得分:2)
您使用sessions
。
以下是示例代码:
<?php
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count'] += 1;
}
echo $_SESSION['count'];
?>
继续通过网络服务器重新加载此文件。你应该看到变量递增。
作为替代方案,您也可以使用$_COOKIE
。唯一的区别是$_SESSION
保存在服务器端,无法在客户端访问。为了识别客户端,它确实在客户端上存储了该会话的cookie。
$_COOKIE
完全存储在客户端上,并在每次请求时由浏览器传递给服务器。
另请注意警告,不要超过会话变量或Cookie,因为它会达到您的响应时间。
另请注意,在您要访问会话的每个PHP文件中都需要session_start()
。