Немного времени назад я отправил this question. Я обновил этот вопрос с помощью сценария AJAX, который работал около 1 недели. В основном я могу использовать session_start()
из сценария AJAX, а затем я мог бы получить доступ к переменным сеанса, которые мне нужны.AJAX скрипт перестал запоминать сеанс
Это действительно странно, но я пришел после выходных, и этим утром этот скрипт больше не работает. Это очень просто, здесь:
<?php
session_start();
$ajax_connection = mysql_connect('10.X.X.X',$_SESSION['username'],$_SESSION['password']);
$result_set = array();
while ($result_set[] = mysql_fetch_assoc($results)){
// do nothing
}
echo json_encode($results);
?>
На прошлой неделе это работало безупречно, и теперь в моем журнале ошибок я получаю Undefined index: username
и Undefined index: password
предупреждения. И, конечно же, соединение MySQL не установлено. Таким образом, этот скрипт не работает на том же сеансе, что и исходное соединение. Я использовал error_log(session_id())
для проверки идентификаторов родительской страницы и сценария AJAX, и, конечно же, они разные. Когда я перезагружаю страницу и каждый раз повторяю ее, идентификаторы остаются неизменными для страницы и сценария AJAX соответственно, но они должны быть одинаковыми идентификаторами, а не двумя разными.
В любом случае, есть ли у кого-нибудь идеи, почему это больше не будет работать, после хорошей работы в течение недели?
Зачем вам хранить информацию о подключении mysql в переменной сеанса? –
@ N.B. Хорошо, потому что это работает. Как еще я могу получить информацию о подключении к сценарию AJAX? –
Что мешает вам включить файл, содержащий учетные данные db в ваш сценарий AJAX? Для 10 000 пользователей вы должны заполнить сеансы с той же информацией. Это не реально, не так ли? Это также, по-видимому, создает проблемы для вас. Следовательно, это подразумевает плохое дизайнерское решение. Я мог бы продолжать, как это небезопасно на совместном хостинге и т. Д., Но я не буду, это просто плохое дизайнерское решение, чтобы иметь информацию db, хранящуюся в сеансе. –