Ниже мой код:
Файл 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
?
вы можете запустить сеанс на своей странице, например <?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();
}
измените имя формы с именем своей формы
ваш вопрос состоит из двух частей
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, и если вы используете базу данных, сеанс также бесполезен в этом
Только Javascript Используйте это:
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
getCookie('PHPSESSID');