переменные — Google Chrome: PHP-код будет выполняться дважды при запуске сеанса

Мне нужно установить динамический идентификатор для каждой загрузки документа. Этот идентификатор должен быть установлен в PHP. Теперь, когда я установил session_start()код php будет выполнен дважды, поскольку ID-код в сгенерированном источнике документа отличается от того же кода в переменной сценария с предупреждением. Нет ошибок во время выполнения.

Что не так с этим кодом и как я могу предотвратить повторный запуск сеанса моего кода после session_start() ?

И когда код будет выполнен дважды (var idvar содержит другое значение), почему, черт возьми, оповещение выполняется только один раз?

Я упростил сценарий, чтобы вы могли попробовать сами:

<?php

// Session start generates two different ID's
session_start();

// Create ID
$time = microtime(1);
$parts = explode('.', (string)$time);
$idvar = strtoupper(strrev(dechex($parts[0]) . dechex($parts[1]))) . dechex(rand());

?>

<script>
// Contains a new generated ID after session_start()
var IDvr = '<?php print $idvr; ?>';
alert(IDvr);
</script>

Скриншоты:

Диалоговое окно оповещения
Источник браузера (Chrome) той же страницы!

0

Решение

Попробуйте переместить инициализацию id непосредственно перед session_start() Я подозреваю, что это связано с тем, как вещи выполняются в PHP после session_start(),

редактировать
до сих пор не может воспроизвести его
введите описание изображения здесь

1

Другие решения

Я нашел это:

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

Даже это не работает!

// Session start generates two different ID's
if(!isset($_SESSION) && !isset($idvr)) {
session_start();
// Create ID
$time = microtime(1);
$parts = explode('.', (string)$time);
$idvr  = strtoupper(strrev(dechex($parts[0]) . dechex($parts[1]))) . dechex(rand());
}

Обновить:

Сейчас исправлено:

При инициализации view-source: pgname и сеанса код будет снова выполнен в режиме просмотра исходного кода!

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector