Как получить доступ к сессии php в файле JavaScript?

0

Ниже мой код:

Файл index.php

javascript файла index.php

function Result()
{
  var marks = 55;
  document.getElementById("hdnmarks").innerHTML= marks; 
  window.location = "results.php";
}

HTML index.php

<input type="hidden" name="hdnmarks" id="hdnmarks">

Описание: У меня есть веб-страница с url localhost/index.php. В index.php у меня есть кнопка отправки, по клику которой я вызываю метод javascript Result который устанавливает метки = 55 и помещает их в скрытое поле и возвращает меня на страницу results.php.

В results.php мне нужно вставить значение меток в базу данных. Но как мне получить доступ к меткам, поскольку они были сохранены в скрытом поле файла index.php?

Я хочу помещать метки в сеанс, но как мне поддерживать сессию PHP в функции javascript? Я имею в виду, где и когда я должен помещать метки в сеанс перед переходом на results.php?

Теги:
session

3 ответа

2
Лучший ответ

вы можете запустить сеанс на своей странице, например <?php session_start();?> и создать скрытое поле для сеанса, подобного этому

<input type="hidden" name="mysession" id="mysession">

и изменить функцию javascript, что-то вроде этого

function Result(){
  var marks = 55;
  document.getElementById("mysession").innerHTML= <?php echo session_id();?>; 
  document.getElementById("hdnmarks").innerHTML= marks; 
  document.getElementById('Form').submit();
}

измените имя формы с именем своей формы

  • 0
    Как я могу назначить отметки в сеансе в этой функции javascript в index.php, чтобы я мог использовать этот сеанс в results.php?
  • 0
    используйте $ _SESSION ['marks'] = 55; чтобы присвоить любое значение, но убедитесь, что ваш сеанс запущен session_start () в верхней части страницы.
Показать ещё 7 комментариев
1

ваш вопрос состоит из двух частей

1)

Но как мне получить доступ к меткам, поскольку они были сохранены в скрытом поле файла index.php?

стандартный способ использует форму

<form action="index.php" method=POST>
  <input type="hidden" name="hdnmarks" id="hdnmarks">
</form>

отправьте эту форму с помощью кнопки или javascript в данные POST в index.php

в index.php

<?php

$marks = $_POST['hdnmarks'];

?>

2)

Я имею в виду, где и когда я должен помещать метки в сеанс перед переходом на results.php? вы должны начать сеанс и создать переменную сеанса

index.php

<?php
session_start();
$marks = $_POST['hdnmarks'];
$_SESSION['marks'] = $marks;
?>

result.php

<?php session_start() ?>
...
//javascript code
var marks = <?php echo $_SESSION['marks'] ?>
...

ПРИМЕЧАНИЕ. Это не очень хороший способ передачи данных от одного к другому, а также хороший способ передачи данных с php на javascript, и если вы используете базу данных, сеанс также бесполезен в этом

  • 0
    Могу ли я написать <? Php session_start (); $ _SESSION ['marks'] = $ marks; ?> в моем JavaScript функция "Результат"?
  • 0
    да вот в основном то, что я написал выше: S
Показать ещё 5 комментариев
0

Только Javascript Используйте это:

function getCookie(name) {
  var value = "; " + document.cookie;
  var parts = value.split("; " + name + "=");
  if (parts.length == 2) return parts.pop().split(";").shift();
}

getCookie('PHPSESSID');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню