|
|
|
| На главной странице 2 поля Логин и пароль, авторизация вообщем. По средством аякс отправляем файлу auth.php на проверку эти поля, если все хорошо то $_SESSION['login'] присваем логин пользователя. Но для этого в самом начале необходимо объявить session_start();
Тут появляется ошибка, о том что заголовки уже были переданы, как с этим бороться? | |
|
|
|
|
|
|
|
для: Ванек2010
(18.07.2011 в 15:00)
| | Хм... а что вы выводите до session_start(), нельзя эту функцию повыше поднять, до любого вывода? | |
|
|
|
|
|
|
|
для: cheops
(18.07.2011 в 16:03)
| | index.php
<?php session_start(); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Тест</title>
<link type="text/css" rel="stylesheet" href="css/main.css"/>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/auth.js"></script>
</head>
<body>
<div class='titleText'>Авторизация</div>
<div id="rsp_auth"></div>
<div id="divAuth">
Логин <input type="text" id="auth_login"><br>
Пароль <input type="text" id="auth_pass"><br>
<input type="submit" id="auth_submit" value="Вход">
</div>
</body>
</html>
|
Файл auth.php находится в каталоге modules/auth.php
<?php session_start();
Всякие проверки... если успешно, то..
$_SESSION['login'] = 'Hello World';
?>
|
| |
|
|
|
|
|
|
|
для: Ванек2010
(18.07.2011 в 16:24)
| | Не че не пойму, какая-то ошибка в кодировке может быть такое?
Использовал другой файл .php (старый) не помню вроде он в utf-8, а тот который был в не utf-8 выдавал ошибку про заголовки.
Ну и бредятина...
Но как быть если для аякса нужена UTF-8? | |
|
|
|
|
|
|
|
для: Ванек2010
(18.07.2011 в 17:11)
| | А у вас в начале файла нет признака UTF-8, который некоторые редакторы добавляют? Сообщение об ошибке как точно выглядит (вместе с номерами строк)? | |
|
|
|
|
|
|
|
для: cheops
(18.07.2011 в 17:48)
| | Вообщем решение: для php файла обработчика по средством аякс, в котором присутствует session_start() и необходимо возращать значения в русской кодировке, надо использовать кодировку UTF-8(Без BOM) | |
|
|
|
|
|
|
|
для: Ванек2010
(18.07.2011 в 18:13)
| | Просто когда используется UTF-8 всегда следует следить за BOM (не зависимо от того AJAX это или нет), особенно, когда отключено кэширование, иначе он не даст задействовать функции session_start(), setcookie(), header() и вообще функции, отправляющие HTTP-заголовки. | |
|
|
|
|
|
|
|
для: cheops
(18.07.2011 в 18:20)
| | а я помню когда у меня такая проблема была , то в php.ini можно было чета поменять чтоб вообще где хочешь можно было вызывать session_start() и отступов тоже скока хочешь если надо могу покопаться и сказать | |
|
|
|
|
|
|
|
для: kvins
(18.07.2011 в 21:47)
| | Это директива output_buffering (в принципе как вариант её можно включить, но не всегда на сервере позволяется изменить директив php.ini в .htaccess). | |
|
|
|