[英]To obtain the previous page's URL in php
我有5个PHP页面是问题文件(MCQ的)。
用户提供了1篇论文...他回答并提交......然后转到AnsCheck.php ...在AnsCheck.php中我需要了解从哪个页面,即5篇论文中的哪一篇请求收到以便我可以继续检查...如何从我收到请求的地方获取页面?
---- ---- 1.PHP
<?php
(E_ALL & ~E_NOTICE);
session_start();
// is the one accessing this page logged in or not?
if (!isset($_SESSION['db_is_logged_in'])
|| $_SESSION['db_is_logged_in'] !== true) {
// not logged in, move to login page
header('Location: login.php');
exit;
}
?>
<html>
<head>
<title>My Page</title>
</head>
<body>
<form name="1" action="/NewDir/AnsCheck.php" method="POST">
1.Name the owl of harry potter.
<div align="left"><br>
<input type="radio" name="paper1" value="op1">Mr Barnesr<br>
<input type="radio" name="paper1" value="op2" checked> Wighed<br>
<input type="radio" name="paper1" value="op3"> Hedwig<br>
<input type="radio" name="paper1" value="op4"> Muggles<br>
<input type="submit" name="submit" value="Go">
</div>
</form>
</body>
</html>
$_SERVER['HTTP_REFERER']
包含引用页面。 (并且,是的,它在PHP中拼写错误,因为它在实际的HTTP规范中拼写错误。转到图。)
但是,无论是否发送该标题有时是某些用户禁用的浏览器中的选项,并且真正的旧浏览器根本不支持它,因此取决于它可能会有问题。
如果您只是为这5个表单中的每个表单添加一个隐藏字段来指示它是哪个表单,那么您的代码将更有可能为更多用户工作。
你已经在使用会话了。 我会在这里再次使用它们:
$_SESSION['last_question'] = 1;
然后,您可以在AnsCheck中进行检查。 或者,您可以在表单中放入一个隐藏字段:
<input type="hidden" name="question" value="1">
然后使用$_POST['question']
检查AnsCheck中的值。
这两者都比HTTP_REFERER
更可靠, HTTP_REFERER
并非由所有浏览器提供。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.