我需要以编程方式将帖子数据发送到另一个页面。 我在数据库中有2个DateTime我想比较这些DateTimes。如果其中一个比另一个大,则自动将发布数据发送到另一个页面。
这是一个简单的代码:
require('connect.php');
$sql = 'SELECT * FROM POSTS ORDER BY POSTDATETIME ASC';
$result = $conn->query($sql);
if($result->num_rows>0)
{
while($row=$result->fetch_assoc())
{
echo $row["ID"].".".$row["PostDateTime"]."<br/>";
$text = $row["Text"];
$d = new DateTime("now");
$d1 = new DateTime($row["PostDateTime"]);
if($d>$d1)
{
// Send Post Data to another page;
}
else
{
echo "false<br/>";
}
}
}
我用谷歌搜索但没有办法自动发送没有任何形式或ajax的数据。 ajax需要发生一些事件。 我也没有任何想法如何做到这一点。我会很感激任何提示。
答案 0 :(得分:1)
您可以使用CURL发送帖子请求。
require('connect.php');
$sql = 'SELECT * FROM POSTS ORDER BY POSTDATETIME ASC';
$result = $conn->query($sql);
if($result->num_rows>0)
{
while($row=$result->fetch_assoc())
{
echo $row["ID"].".".$row["PostDateTime"]."<br/>";
$text = $row["Text"];
$d = new DateTime("now");
$d1 = new DateTime($row["PostDateTime"]);
if($d>$d1)
{
$ch = curl_init('http://www.linktoyourotherpage.com');
curl_setopt($ch, CURLOPT_POSTFIELDS, $row);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
}
else
{
echo "false<br/>";
}
}
}
答案 1 :(得分:0)
实现您正在做的事情的唯一方法是使用将用户发送到Page C的中间页面。这是一个关于如何实现这一目标的小/简单片段:
<?php
if($d>$d1) { ?>
<form id="myForm" action="Page_C.php" method="post">
<?php
foreach ($_POST as $a => $b) {
echo '<input type="hidden" name="'.htmlentities($a).'" value="'.htmlentities($b).'">';
}
?>
</form>
<script type="text/javascript">
document.getElementById('myForm').submit();
</script>
<?php } else {
echo "false<br/>";
}
?>
答案 2 :(得分:0)
将数据存储在全局变量中,例如$ _SESSION并重定向到另一个页面...会话启动并使用全局变量。