Ajax проблемы с подключением MySQL и сессией PHP - PullRequest
0 голосов
/ 25 февраля 2012

Я столкнулся с проблемой. В моем index.php я устанавливаю соединение с базой данных MySQL и запускаю сеанс, содержащий $_SESSION['name'] и $_SESSION['password'].

Я включаю страницу content.php в DIV с помощью PHP include (). Теперь я хочу обновить содержимое без перезагрузки страницы, поэтому я снова загружаю content.php через Ajax через jQuerys load(). content.php теперь отображает массу ошибок, потому что он не может подключиться к базе данных и не имеет информации о сеансе. Есть ли возможность заставить функцию load () в jQuery работать как include() в PHP?

Я надеюсь, что кто-то может мне помочь.

С уважением,

Маттео

Ответы [ 3 ]

4 голосов
/ 25 февраля 2012

Создайте файл, содержащий ваш код инициализации, с помощью session_start () и вашего подключения к MySQL.Затем включите его в ваш index.php и в ваш content.php.Сделайте это с include_once или require_once , и оно будет работать в обоих случаях (при первой загрузке и при загрузке AJAX).

init.php

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

// Your connection to mysql
...
?>

index.php

<?php
// Init actions
include_once "init.php";

// Your code
....
?>

content.php

<?php
// Init actions
include_once "init.php";

// Your code
....
?>

С этим кодом,при первом включении файла content.php вызов init.php будет игнорироваться (поскольку он уже был включен index.php), а когда вы вызываете content.php из ajax, он будет включать ваш сеанс и соединение с базой данных.

1 голос
/ 25 февраля 2012

Дай угадаю.Index.php - это то, что удерживает подключение mysql, верно?

Если soo .. Затем, когда вы делаете ajax-вызов к content.php, который затем ожидает соединение, как оно установлено в index.php, оно выиграло 'получить его как новый запрос.

Вы можете переместить ваше соединение mysql из index.php в content.php ИЛИ добавить параметр в вызов ajax, а затем проверить в content.php, установлен ли этот параметр.Если это новое соединение.

0 голосов
/ 25 февраля 2012

Есть ли у вас необходимые файлы, включенные в файл content.php?Вам все равно понадобятся все ваши подключения к базе данных, объявленные в этом файле, в дополнение к вызову session_start().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...