我有 quizaction.php 页面和 result.php 页面。我将变量从 quizaction.php 传递到 result.php 。 这是我的quizaction.php:
<?php
include 'db.php';
session_start();
?>
<html>
<head><title>Quiz Feedback</title></head>
<body bgcolor="#FFFFFF">
<form name="result" action=result.php method="POST">
<?php
$_SESSION['time_left'] = $_POST['formvar'];
$_SESSION['time_taken'] = 60 - $_SESSION['time_left'];
?>
<INPUT TYPE="SUBMIT" VALUE="Done" >
</form>
</body>
</html>
我的 result.php 是:
<?php
session_start();
include 'db.php';
include 'quizaction.php';
?>
<button onclick="myFunction()">Try it</button>
<script type="text/javascript">
function myFunction() {
var topic1= "<?php echo $type[0]; ?>";
var topic2= "<?php echo $type[1]; ?>";
var score= "<?php echo ($score); ?>";
alert("check");
alert(score);
alert(topic1);
alert(topic2);
}
</script>
但我无法从quizaction.php中检索得分值。 实际上我也从其他页面获取 quizaction.php 中的数据。但在这里我不认为这有任何问题。请帮帮我。即使是阐述也会有效
答案 0 :(得分:0)
将此添加到results.php
<?PHP PRINT_R($_POST); // For Testing ?>
&#13;
quizaction.php
所有输入字段必须具有类似
<INPUT TYPE=text VALUE='123' name='topic_1'>
&#13;
创建一个会话变量
- 1st session_start
- 第二个结果.php
<?PHP $_SESSION['topic_1'] = $_POST['topic_1']; ?>
&#13;
这可以帮助你到达你需要去的地方。
答案 1 :(得分:0)
这个脚本有很多问题:
1)在result.php
页面中,在页面已经呈现包含quizaction.php
的开始和结束标记的<html>
内容后,您将获得该html输出。这不是主意。
2)当一个包含在另一个中时,你有两个session_start()
,这将导致警告/错误。那不太理想。
3)在result.php
中,您已定义$type
和$score
,但在您的示例脚本中发布的任一页中都没有。
我认为你的主要问题是组织问题。你可能有单独的工作,现在正试图将它们互相挤压,这不是最好的方法。您有太多重复和重复意味着您引入了不一致和潜在的错误。在路上,你将很难保持这一点。
如果可能,请使用某种框架。如果这不是您可以做的事情,请重新组织您的脚本。我会:
1)创建一个包含数据库,会话和其他简易引用项的配置文件:
<强> /config.php 强>
<?php
define('DS',DIRECTORY_SEPARATOR);
define('ROOT_DIR',__DIR__);
define('FUNCTIONS',ROOT_DIR.DS.'functions');
# Start session
session_start();
# Include database
require_once('db.php');
2)你必须定义$type
和$score
,我不知道它来自哪里,所以你必须弄清楚它的来源。根据您发布的脚本,您只能定义$_SESSION
和$_POST
。
<强> /result.php 强>
<button onclick="myFunction()">Try it</button>
<script type="text/javascript">
function myFunction()
{
var topic1= "<?php echo $type[0] ?>";
var topic2= "<?php echo $type[1] ?>";
var score = "<?php echo $score ?>";
alert("check");
alert(score);
alert(topic1);
alert(topic2);
}
</script>
3)将result.php
包含在测验页面中,而不是相反。
<强> /quizaction.php 强>
<?php
# Include the config at the top of the main pages
require_once(__DIR__.DIRECTORY_SEPARATOR.'config.php');
# Move non-view logic before view
# Check if something is set first
if(!empty($_POST['formvar'])) {
$_SESSION['time_left'] = $_POST['formvar'];
$_SESSION['time_taken'] = 60 - $_SESSION['time_left'];
}
?>
<html>
<head><title>Quiz Feedback</title></head>
<body bgcolor="#FFFFFF">
<!-- Use quotes here ------v----------v -->
<form name="result" action="result.php" method="POST">
<input type="submit" value="Done" >
</form>
<?php include(ROOT_DIR.DS.'result.php') ?>
</body>
</html>