0 / 0 / 2
Регистрация: 22.05.2013
Сообщений: 48
1

Не создаются файлы сессий

03.09.2014, 17:24. Показов 2097. Ответов 8
Метки нет (Все метки)

Доброго времени суток. Начал я недавно щупать php и застрял на теме сессий.
Есть такой код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php // auth.php
 
$un = "jsmith";
$pw = "acrobat";
 
if (!$_SESSION['username'])
{
    echo <<<_END
    <!DOCTYPE html>
    <html>
    <head>
        <title>Test auth</title>
    </head>
    <body>
        <form action="" method="post">
            Логин: <input type="text" name="username"><br>
            Пароль: <input type="password" name="password"><br>
            <input type="submit" name="submit">
        </form>
    </body>
    </html>
_END;
}
else
{
    $user = $_SESSION['username'];
    echo "Добро пожаловать. Снова. $user";
}
 
if (isset($_POST['submit']))
{
    session_start();
    $_SESSION['username'] = $un;
    $_SESSION['password'] = $pw;
    echo "$un, для продолжения <a href=''>Нажмите</a>";
}
Этот код отказывается создавать сессии. Еще я нашел где-то такой вот код:
PHP
1
2
3
4
5
6
<?php // test.php
session_start(); 
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить</a>"; 
?>
Он создает файл сессии. Но если сохранить его с кодировкой UTF-8 with BOM, то сессия не создастся. Пробовал сохранять в другой кодировке первый кусок кода, но безрезультатно.
В чем может быть дело, господа? Я несколько раз все перепроверил и ошибок не нашел.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2014, 17:24
Ответы с готовыми решениями:

Не удаляются файлы сессий
Добрый. Внезапно на одной из виртуалок столкнулся с проблемой - не удаляются &quot;устаревшие&quot; файлы...

Не создаются файлы сессии
Здравствуйте, форумчане! Помогите разрешить мою проблему. Не создаются файлы сессии. phpinfo:...

Нужно ли прятать папку куда сохраняются файлы сессий
Здравствуйте друзья. И снова я с вопросами о безопасности. В сети начитался о том что к файлам...

Cookies файлы не создаются
Создаю свой первый проект но у меня проблема почему то не создаются куки от код с их созданием...

8
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
03.09.2014, 18:12 2
Цитата Сообщение от Crazy-kun Посмотреть сообщение
Но если сохранить его с кодировкой UTF-8 with BOM, то сессия не создастся
сохраняйте без BOM. сей заголовок определяется интерпретатором как начало вывода. а после начавшегося вывода сессии уже не создаются Что означает предупреждение "headers already sent"
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,229
03.09.2014, 18:56 3
Цитата Сообщение от Crazy-kun Посмотреть сообщение
Начал я недавно щупать php
Цитата Сообщение от Crazy-kun Посмотреть сообщение
В чем может быть дело, господа?
Включите отображение ошибок php, прежде чем его щупать... Если бы они были включены, Вы бы решили эту проблему без обращения на форум, я уверен. Просто с помощью гугла...
0
13 / 13 / 11
Регистрация: 24.04.2011
Сообщений: 109
03.09.2014, 19:26 4
Сессия должна стартоваться до любого вывода html, а у вас она в конце. А как вам уже правильно сказали, BOM нужно избегать, сам когда-то на этой теме спотыкнулся)
1
0 / 0 / 2
Регистрация: 22.05.2013
Сообщений: 48
03.09.2014, 20:05  [ТС] 5
Так, хорошо. Буду сохранять в кодировке без BOM, но как мне тогда сохранить кириллический текст в целости?
0
13 / 13 / 11
Регистрация: 24.04.2011
Сообщений: 109
03.09.2014, 20:10 6
В самом начале скрипта, напиши следующее:
PHP
1
header("Content-type: text/html; charset=utf-8");
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,229
03.09.2014, 20:46 7
Цитата Сообщение от Crazy-kun Посмотреть сообщение
Так, хорошо. Буду сохранять в кодировке без BOM, но как мне тогда сохранить кириллический текст в целости?
По-Вашему UTF-8 сохраняет "кириллический текст" в целости, а UTF-8 без BOM - нет? Интересно, зачем он вообще тогда нужен этот UTF-8 без BOM)
0
0 / 0 / 2
Регистрация: 22.05.2013
Сообщений: 48
04.09.2014, 13:36  [ТС] 8
Использовал функцию header(), поместил функцию создания сессии в начало кода и сохранил в UTF-8 without BOM. Все работает. Всем спасибо.

Добавлено через 3 часа 5 минут
Только вот вывод ошибок не могу включить. Вместо них просто пустая страница.
В php.ini:
PHP
1
2
3
4
error_reporting  =  E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
Добавлено через 9 минут
Разобрался в проблеме, оказывается редактировал не тот php.ini.
0
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 2
04.09.2014, 13:37 9
<?php
session_start();--вот это вот включает работу сессии она должна быть в самом начале страницы и так же вставляй ее на каждой странице где будеш работать с сесиями если будут вопросы обрашайся но помни этот вид работы сесии не безопасен.
?>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2014, 13:37
Помогаю со студенческими работами здесь

Как на PHP создаются файлы приема формы?
Нужен алгоритм, хотя бы примитивный. Спасибо.

А где пишутся файлы сессий?
Subj Апача...

Почему не создаются файлы
я не понимаю насчёт команды ASSIGN!!ВОТ Я ВЛОЖИЛ ПРОГУ ОНА РАБОТАЕТ ТО ЕСТЬ КОМПИЛИРУЕТСЯ!!НО...

Файлы создаются Apache
Приветствую всех! Требуется помощь!!! При попытке установки определенного скрипта - получил ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru