MySQL连接和PHP会话的Ajax问题

MySQL连接和PHP会话的Ajax问题,php,jquery,mysql,ajax,session,Php,Jquery,Mysql,Ajax,Session,我遇到了一个问题。在我的index.php中,我建立了到MySQL数据库的连接,并启动了一个包含$\u会话['name']和$\u会话['password']的会话 我使用PHPs include()将content.php页面包含到一个DIV中。现在我想在不重新加载页面的情况下刷新内容,所以我通过jQuerysload()通过Ajax再次加载content.php。php现在显示大量错误,因为它无法连接到数据库,并且没有会话信息。jQuery中的load()函数是否可以像PHP中的includ

我遇到了一个问题。在我的
index.php
中,我建立了到MySQL数据库的连接,并启动了一个包含
$\u会话['name']
$\u会话['password']
的会话

我使用PHPs include()将content.php页面包含到一个DIV中。现在我想在不重新加载页面的情况下刷新内容,所以我通过jQuerys
load()
通过Ajax再次加载content.php。php现在显示大量错误,因为它无法连接到数据库,并且没有会话信息。jQuery中的load()函数是否可以像PHP中的
include()
那样工作

我希望有人能帮助我

致以最良好的祝愿


Matteo

content.php文件中是否包含所需的文件?除了调用
会话_start()
之外,您还需要在此文件中声明所有数据库连接。

content.php文件中是否包含所需的文件?在调用
会话\u start()
的同时,您仍然需要在此文件中声明所有数据库连接。

让我猜猜。php是保持mysql连接正确的工具

如果苏。。然后,当您对content.php执行ajax调用时,它会在index.php中设置一个连接,但不会检索它,因为它是一个新请求


您可以将mysql连接从index.php移动到content.php,或者在ajax调用中添加一个参数,然后在设置了该参数的情况下签入content.php。如果是,请重新连接。

让我猜猜。php是保持mysql连接正确的工具

如果苏。。然后,当您对content.php执行ajax调用时,它会在index.php中设置一个连接,但不会检索它,因为它是一个新请求


您可以将mysql连接从index.php移动到content.php,或者在ajax调用中添加一个参数,然后在设置了该参数的情况下签入content.php。如果是,请创建一个新连接。

创建一个包含初始化代码的文件,其中包含会话启动()和mysql连接。然后,将其包含在index.php和content.php中。使用include_oncerequire_once执行此操作,它将在两种情况下(第一次加载和ajax加载时)都有效

init.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>

index.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>

content.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>


在这段代码中,第一次包含content.php时,对init.php的调用将被忽略(因为它已经包含在index.php中),当您从ajax调用content.php时,它将包含您的会话和数据库连接。

创建一个包含初始化代码的文件,其中包含会话启动()和mysql连接。然后,将其包含在index.php和content.php中。使用include_oncerequire_once执行此操作,它将在两种情况下(第一次加载和ajax加载时)都有效

init.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>

index.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>

content.php

<?php
// Start or retrieve the session
session_start();

// Your connection to mysql
...
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>
<?php
// Init actions
include_once "init.php";

// Your code
....
?>


在这段代码中,当您第一次包含content.php时,对init.php的调用将被忽略(因为index.php已经包含了它),当您从ajax调用content.php时,它将包含您的会话和数据库连接。

您是否调用了session_start();在content.php中?也。。您可能还需要在content.php中建立数据库连接;)您是否调用了session_start();在content.php中?也。。您可能还需要在content.php中建立数据库连接;)如果我调用session_start(),我将获得“父”文件中的值,还是必须再次声明$_session['name']?@Matteo-无论何时使用
$\u session
变量,都必须使用
session_start()
。如果我调用SESSION\u start(),我会从“父”文件中得到值吗?还是必须再次声明$\u SESSION['name']呢?@Matteo-只要你想使用
$\u SESSION
变量,你就必须使用
SESSION\u start()
。它不会覆盖现有值,除非您通过设置“$\u SESSION['var\u name']=”something”来覆盖现有值。