我在创建的Web应用程序上具有以下URL(当前在本地运行): http://localhost:8080/trustsurvey/questionView.php?question=1
问题= 1来自GET参数,该参数每次用户单击“下一步”按钮时都会递增。
$questionNumber = $_GET['question'];
在?
之后隐藏或编码URL中的参数的最佳推荐方法是什么,从而使用户难以操纵URL并手动更改参数?
答案 0 :(得分:3)
您可以使用session variables代替URL参数。
类似这样的东西(不是“完整的”代码,缺少一些isset
检查等):
<?php
session_start();
$questionNumber = $_SESSION['questionNumber'] = $_SESSION['questionNumber'] ?? 1;
?>
<form method="post" action="answer.php">
<!-- Display question $questionNumber here -->
</form>
<?php
session_start();
$questionNumber = $_SESSION['questionNumber'];
if (answerOk()) { // This checks answer with $_POST data
$_SESSION['questionNumber']++;
header('Location: questionView.php');
die;
}