【问题标题】:how to auto refresh php page with jquery如何使用jquery自动刷新php页面
【发布时间】:2011-03-11 11:27:48
【问题描述】:

如问题所述。每次自动刷新 5 秒,它都会删除会话并给我错误Notice: undefined variables in get_total_un_booking and get_total_un_booking

在我得到 php 包含和类之前的标记:

session_start();
require_once '../_include/user.inc.php';
require_once '../_include/booking.inc.php';
$user= new user;
$booking = new booking;
$getUser = $user->getUser($_GET['id_user']);
$getBookslot = $booking->get_bookslot($_GET['b_ref']);

HTML 导航:

<table id="nav">
<tr>
  <td><? include 'pages/nav.php'; ?></td>
</tr>
</table>

在 Nav.php 中:

<? if($booking->get_total_un_booking() == 0) :
   echo '<a href="home.php?confirm"><span></span>Booking</a>';
?>
<? if($booking->get_total_un_booking() == 0) :
   echo '<a href="home.php?testimonial"><span></span>Confirm Testmnl</a>';
?>

jQuery:

$(document).ready(function(){
   setInterval(function() {  
        $("#nav").load('pages/nav.php');  
   }, 5000);  
 });

【问题讨论】:

  • 你在'settings.php'里是干什么的?,能不能把一些代码作为work session之类的,看看有没有问题
  • 这是否发生在您第一次咨询 Ajax 时?您是否检查了代码以查看您是否在某处有“session_destroy”或包含的某些文件?
  • 我对上面的代码做了一些改动!你能检查一下吗!会议很好!每次使用 jquery 自动刷新时,它的 jsut 都会给我一个错误 Notice: undefined variable。但如果我 F5 页面工作正常!没有错误!
  • 什么是完整代码pages/nav.php?,只有这个文件的代码,没有分离html和php
  • @andres ive 刚刚在 nav.php 上添加了更多代码!它基本上只是内容导航菜单和一些 php 函数!

标签: php jquery session


【解决方案1】:

如果您想访问 pages/settings.php 中的会话变量,您必须在该页面上调用 session_start()

【讨论】:

  • 我在每一页都调用了 session_start()!
【解决方案2】:

您始终可以手动传输会话变量(假设 JS 来自您的 PHP 文档):

$(document).ready(function(){
   setInterval(function() {  
        $("#content").load('pages/setting.php?PHPSESSID=<?=session_id();?>');  
   }, 5000);  
 });

【讨论】:

    【解决方案3】:

    您的代码使用来自 _GET 数组的值,但您的 .load() 没有提供任何值 - 这就是为什么有 undefined variables

    <?php
        $id_user = $_GET['id_user'];
        $b_ref = $_GET['b_ref'];
    ?>
    $("#nav").load('pages/nav.php?id_user=<?php echo $id_user?>&b_ref=<?php echo $b_ref?>')
    

    【讨论】:

    • 会话现在很好:) 谢谢,但现在它仍然给我undefined variables function get_booking?,因为我在标题中包含了 php 类!我如何在 jquery 中包含 php 函数?
    • 你应该把它包含在nav.php文件中
    【解决方案4】:

    您的浏览器是否允许使用 Cookie? 我的意思是检查您的浏览器配置。并在服务器上启动会话处理。

    【讨论】:

      【解决方案5】:

      1°:

      测试您将session_start 放入档案user.inc.phpbooking.inc.php

      2°:

      HTML:

      <table id="nav">
      <tr>
        <td class="update-ajax"><? include 'pages/nav.php'; ?></td>
      </tr>
      </table>
      

      JS:

      $(document).ready(function(){
         setInterval(function() {  
              $("#nav tr td.update-ajax").load('pages/nav.php');  // change selector
         }, 5000);  
       });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-21
        • 2011-12-29
        • 2016-03-26
        • 2011-01-02
        • 2012-01-16
        • 2013-02-23
        • 2014-10-18
        相关资源
        最近更新 更多