Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 29.04.2014
Сообщений: 55

Не передаётся сессионная переменная

21.09.2016, 12:36. Показов 1115. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в JS нужно передать переменную $_SESSION["login"] но не получается, но она есть, т.к. сам участок кода запускается только при её наличии и он запускается:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 if ($_SESSION['login'])  // если пользователь авторизован можно оставить коммент
     {
      ?>
       <p style="color: blue; cursor: pointer;" id="com1" onclick="blockVisible(<?php echo $number_comm_block; ?>)">
                            <ins><i><b>Добавить комментарий</b></i></ins></p>
       <div class="comdiv" style="display: none;">     
         <form name="f_comm">
          <textarea id="ta" name="<?php echo $prd['id']; ?>" cols="45" rows="10px"></textarea><br>
          <input type="button" value="Отправить" name="s1" 
                    onclick="createScript(<?php echo $prd['id']." ".$_SESSION["login"]; ?>"><input type="reset" name="r1">
         </form>
       </div>
      <?php   
     }
Т.е.
HTML5
1
2
<input type="button" value="Отправить" name="s1" 
                    onclick="createScript(<?php echo $prd['id']." ".$_SESSION["login"]; ?>)">
вызывает ошибку, тогда как
HTML5
1
2
<input type="button" value="Отправить" name="s1" 
                    onclick="createScript(<?php echo $prd['id']?>)">
не вызывает!

При чём пробовал передавать их через запятую и только сессионную, тот же эффект...Переменную массива prd$['id'] передаёт, она из запроса...

вот код JS:
JavaScript
1
2
3
4
function createScript (sendStr)
  { 
    alert (sendStr);
  }
В чём может быть проблема?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2016, 12:36
Ответы с готовыми решениями:

Сессионная переменная заполняется через раз
Очень прошу помочь!!!!!!!!! Странная ситуация, в index.php задаю setlocale(LC_NUMERIC, 'C') ; session_start(); $_SESSION = 'index'; ...

Не передаётся переменная
Здравствуйте. Программа должна брать значение из поля формы и выводить его. Но она выводит:$userName!&quot;; ?&gt; . Сервер у меня...

Переменная не передаётся в $_GET
Здравствуйте, уважаемые. Столкнулся со странной проблемой. Вот простой довольно-таки код: &lt;iframe width=&quot;100%&quot;...

4
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
21.09.2016, 13:09
Лучший ответ Сообщение было отмечено SevLenin как решение

Решение

Кавычек не хватает
HTML5
1
2
<input type="button" value="Отправить" name="s1" 
                    onclick="createScript('<?php echo $prd['id']." ".$_SESSION["login"]; ?>')">
1
1 / 1 / 0
Регистрация: 29.04.2014
Сообщений: 55
21.09.2016, 18:06  [ТС]
спасибо, помогло, фух...

Добавлено через 4 часа 38 минут
а подскажите плз, как правильно передать переменную для кода JS, а то я и так и сяк уже и ничего не выходит... а тестировки нет как таковой:

PHP
1
echo  'var phpBlogId ="'.$results[1].'";\n";
или
PHP
1
echo  "var commDate ='.$results[2].';\n";
или
PHP
1
echo  "var commAuth = $result[3];";
или
....
0
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
21.09.2016, 18:23
По разному, вариант 1 в общем правильный, остальные с ошибками
PHP
1
2
3
echo  "var commDate ='".$results[2]."';\n";
 
echo  "var commAuth = '{$result[3]}';";
1
1 / 1 / 0
Регистрация: 29.04.2014
Сообщений: 55
21.09.2016, 22:47  [ТС]
всё, разобрался, работать стало при таком варианте:
PHP
1
echo  "var phpBlogId =$results[1];\n";
Добавлено через 11 минут
Вот ещё вопросик, создавал боки в цикле и им задавались соответствующие id, например, от 1 до 100 таким образом:
PHP
1
echo "<div id='{$prd['id']}'></div>"; // блок вывода сообщения, если добавлено
потом получив результат из обработчика для JS так:
PHP
1
echo  "var phpBlogId =$results[1];\n";
пытаюсь отобразить в данном диве информацию, но ничего не происходит:

JavaScript
1
2
var resultDiv = document.getElementById (phpBlogId);  
  resultDiv.Text = commDate;
Подскажите пожалуйста, где я мог ошибиться, если данные доходят до JS, т.к. я выводил phpBlogId в JS коде(в последнем блоке alert'ом)??

Добавлено через 2 часа 44 минуты
пробую проверить, что же там лежит:

JavaScript
1
2
3
var resultDiv = document.getElementById (phpBlogId);
  resultDiv.Text = commDate; 
  alert (resultDiv.Text+" "+phpBlogId);
Должна быть строка типа: ололололол 47, а получается такая фича: 2016-09-21 21:37:45 47

Добавлено через 1 час 9 минут
Всё, и тут разобрался!!!
не
JavaScript
1
 resultDiv.Text = commDate;
а
JavaScript
1
 resultDiv.innerHTML = commDate;
и ещё к переменной phpBlogId и в сам ид в теге прибавил "id"... не знаю почему, но стал правильно искать....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2016, 22:47
Помогаю со студенческими работами здесь

EntityFramework Core: сессионная переменная
Возможно ли в рамках текущего контекста установить переменные, которые будут доступны при выполнении всех последующих запросов? Или же...

Переменная=Документ.имя. Сделать выборку всех документов с именем Переменная
Привет всем. У меня есть проблема и варианты решения, но они не работают. Проблема вот такая: Есть переменная Документ1 в...

Модульная переменная или блочная статическая переменная: что лучше
Переменная (тип String) нужна на всем протяжении работы программы. Нужен совет опытных - что предпочтительнее: модульная переменная или...

Проблема с Adodc: 'Переменная объекта или переменная блока With не задана'
В свойствах самого контрола (MS ADO Data Control) проверка подключения к атблице (подключаюсь через ODBC) проходит нормально. Когда же...

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз
Исходники: /* main.cpp */ #include &quot;hider.h&quot; int main(void) { return 0; } /* foo.cpp */


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru