Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中每分钟自动刷新页面_Php_Actionscript_Page Refresh - Fatal编程技术网

如何在PHP中每分钟自动刷新页面

如何在PHP中每分钟自动刷新页面,php,actionscript,page-refresh,Php,Actionscript,Page Refresh,我想让我的网站每分钟刷新一次页面,例如:60秒/1分钟。我有放置代码的索引。事实上,我制作了一个主页,它收到了一条来自会员的消息,所以管理员仪表板可以每分钟查看一次收件箱。有人能提供一些文档或示例来使用PHP吗??? 请不要使用javascript或ajax,谢谢 <?php header("Refresh: 60"); session_start(); include "conn.php"; $koneksi=open_connection(); if

我想让我的网站每分钟刷新一次页面,例如:60秒/1分钟。我有放置代码的索引。事实上,我制作了一个主页,它收到了一条来自会员的消息,所以管理员仪表板可以每分钟查看一次收件箱。有人能提供一些文档或示例来使用PHP吗??? 请不要使用javascript或ajax,谢谢

<?php 
    header("Refresh: 60");
    session_start();
    include "conn.php";
    $koneksi=open_connection();

if (isset($_SESSION['id']))
{
    $id=$_SESSION['id'];
    $level = $_SESSION['level'];
    $username = $_SESSION['username'];
}else{
echo'<script>document.location.href="index.php?status=forbidden"</script>';
}

require_once('topbar.php');



require_once('sidebar.php');
                $page=(isset ($_GET['page']))? $_GET['page'] : 'main';
                    switch($page){
                        case 'data':include "halaman/data.php";
                            break;                   
                        case 'main':default: include 'beranda.php';
                    }
 require_once('footer.php');
?>

你不能。当页面内容被发送到浏览器时,PHP结束它的工作。它不会影响客户端浏览器。您可以为此使用JavaScript,使用Ajax调用和setInterval,如上面的注释所述。只需创建单独的端点,您将每分钟向其请求新信息。

您可以使用以下命令刷新页面: 人头数:60; 但请确保将其放在任何输出之前,这意味着您甚至不能在php代码之前写入空格:

<?php 
    session_start();
    header("Refresh: 60");
    include "conn.php";
    $koneksi=open_connection();

if (isset($_SESSION['id']))
{
    $id=$_SESSION['id'];
    $level = $_SESSION['level'];
    $username = $_SESSION['username'];
}else{
echo'<script>document.location.href="index.php?status=forbidden"</script>';
}

require_once('topbar.php');

//**I want to put "auto refresh page" here**

require_once('sidebar.php');
                $page=(isset ($_GET['page']))? $_GET['page'] : 'main';
                    switch($page){
                        case 'data':include "halaman/data.php";
                            break;                   
                        case 'main':default: include 'beranda.php';
                    }
 require_once('footer.php');
?>

虽然你已经接受了一个答案,但我想告诉你另一种方法。你说你需要显示你的网站成员发送给管理员的信息,对吗?不能单独使用PHP。这样做至少不是很优雅。您可能想看看HTML5服务器发送的事件。当数据库中出现新消息时,您可以自动将其发送到管理员的网页,而无需重新加载

完成这项工作的代码将涉及JavaScript和PHP。下面是一个粗略的例子:

在网页的脚本标记中,打开与服务器的连接,如下所示:

var messageEvent = new EventSource("some/relative/path/blah blah/message_updates.php");
//onopen, onmessage and onerror and different events that can occur
messageEvent.onmessage = function(event) {
    //Your logic to display the received data to frontend goes here. Example:
    //document.getElementById("messages").innerHTML += event.data;
    //if event.data is a JSON, then parse it and do stuff
};
现在到服务器的流保持打开状态,任何新消息都将立即发送到客户端。但在此之前,您需要将您的PHP逻辑。所以

在消息_updates.php文件中:

我将为您留下一些链接以继续:

可选,但建议使用这样简单的步骤

<!DOCTYPE html>
<html>
<head>
    <title>Autorefresh Browser using jquery</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            startRefresh();
        });
        function startRefresh() {
            setTimeout(startRefresh,100);
            $.get('text.html', function(data) {
                $('#viewHere').html(data);
            });
        }
    </script>

</head>
<body>
    <div id="viewHere"></div>
</body>
</html>

这段完整教程的视频

你可以在jsYeah的setInterval中通过Ajax调用来实现,但我需要php代码?@smoqadam我的错,我想可以用php来清除它,你能给我一些代码吗?所以要做到这一点,应该使用javascript或Ajax?@ilhamsuryoko Ajax-这是请求的格式。您将在的帮助下提出此请求JS@ilhamsuryoko以下是jQuery中ajax请求的文档:我认为这是发出此类请求的最简单方法。非常感谢。我会看一看@NikitaLeshchev的文档,我发布了一个php解决方案,为什么它不好?很高兴帮助:
<!DOCTYPE html>
<html>
<head>
    <title>Autorefresh Browser using jquery</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            startRefresh();
        });
        function startRefresh() {
            setTimeout(startRefresh,100);
            $.get('text.html', function(data) {
                $('#viewHere').html(data);
            });
        }
    </script>

</head>
<body>
    <div id="viewHere"></div>
</body>
</html>