【发布时间】:2012-06-11 03:20:10
【问题描述】:
我是 PHP 编程的新手,实际上我刚开始 3 天,所以我需要你的帮助。 我正在创建一个包含 4 页的表单。当用户点击后退按钮时,例如从第 2 页到第 1 页,他之前在 page1 上选择的所有数据都应该出现在那里,这样他就不需要再次填写了。 您能否通过发布代码来帮助我。
这里是示例代码
page1.php
<?php
session_start();
$session=session_id();
$_SESSION['session']=$session;
?>
<html>
<body>
<form action="oopssurvey.php" method="post">
Where do you work?<br/>
<Input type ="radio" name="location" value="USA" <?php if($_SESSION['location'] == 'USA') echo "checked='checked'" ?>/>In the United states<br/>
<Input type ="radio" name="location" value="India" <?php if($_SESSION['location'] == 'India') echo "checked='checked'" ?>/>Outside of the United states<br/>
<input name="Operation1" type="submit" value="saveandresume" />
<input name="Operation2" type="submit" value="next" />
</form>
</body>
</html>
page2.php
<?php
session_start();
if($_SESSION['session']==$session)
{
$location=$_SESSION['location'];
}
else
{
$_SESSION['location'] = $_POST['location'];
}
?>
<html>
<body>
<form action="oopssurvey.php" method="post">
In my work group, we are actively involved in making our work processes more effective and efficient (simpler, faster, etc.) using ACE.<br/>
<Input type ="radio" name="effective" value="Agree"/>Agree<br/>
<Input type ="radio" name="effective" value="Agreenordisagree"/>Neither Agree nor Disagree<br/>
<Input type ="radio" name="effective" value="disagree"/>Disagree<br/>
I have received the training I need to understand and implement ACE in my work group.<br/>
<Input type ="radio" name="training" value="Agree"/>Agree<br/>
<Input type ="radio" name="training" value="Agreenordisagree"/>Neither Agree nor Disagree<br/>
<Input type ="radio" name="training" value="disagree"/>Disagree<br/>
All employees at the company are treated fairly regardless of differences.<br/>
<Input type ="radio" name="treated" value="Agree"/>Agree<br/>
<Input type ="radio" name="treated" value="Agreenordisagree"/>Neither Agree nor Disagree<br/>
<Input type ="radio" name="treated" value="disagree"/>Disagree<br/>
Sufficient effort is made to get the opinions and thoughts of the people who work here.<br/>
<Input type ="radio" name="effort" value="Agree"/>Agree<br/>
<Input type ="radio" name="effort" value="Agreenordisagree"/>Neither Agree nor Disagree<br/>
<Input type ="radio" name="effort" value="disagree"/>Disagree<br/>
<input name="Operation3" type="submit" value="saveandresume" />
<input name="Operation4" type="submit" value="next" />
<input name="Operation5" type="submit" value="back" />
</form>
</body>
</html>
page3.php
//一些代码//
Survey.php
<?php
session_start();
include 'classperson.php';
if($_POST['Operation1'])
{
$_SESSION['location'] = $location;
$_SESSION['location'] = $_POST['location'];
echo "Please save the link inorder to continue your survey http://bonnie/~jnagesh/SampleSurvey/OOPS/oopspage2.php";
}
else if($_POST['Operation2'])
{
$_SESSION['location'] = $location;
$_SESSION['location'] = $_POST['location'];
include "oopspage2.php";
}
elseif($_POST['Operation3'])
{
$_SESSION['effective'] = $effective;
$_SESSION['effective'] = $_POST['effective'];
$_SESSION['training'] = $training;
$_SESSION['training'] = $_POST['training'];
$_SESSION['treated'] = $treated;
$_SESSION['treated'] = $_POST['treated'];
$_SESSION['effort'] = $effort;
$_SESSION['effort'] = $_POST['effort'];
echo "Please save the link inorder to continue your survey later http://bonnie/~jnagesh/SampleSurvey/NextandBackButtons/page3.php";
}
elseif($_POST['Operation4'])
{
$_SESSION['effective'] = $effective;
$_SESSION['effective'] = $_POST['effective'];
$_SESSION['training'] = $training;
$_SESSION['training'] = $_POST['training'];
$_SESSION['treated'] = $treated;
$_SESSION['treated'] = $_POST['treated'];
$_SESSION['effort'] = $effort;
$_SESSION['effort'] = $_POST['effort'];
include "oopspage3.php";
}
elseif($_POST['Operation5']) /* THE PROBLEM LIES IN THIS CODE FOR BACK BUTTON*/
{
$location = $_POST['location'];
$_SESSION['location'] = $location;
<html>
<body>
<form action="1.php" method="post"> /*oBVIOUSLY i WONT BE ALLOWED TO DECLARE <HTML> INSIDE PHP*/
<input type="submit" value="back"/>
</form>
</body>
}
。 . . . . . . . ?>
您能帮我如何实现后退按钮吗? 提前致谢
【问题讨论】:
-
您正在使用 POST 操作,这将使几乎所有浏览器都向用户抱怨重新发布之前提交的数据。除非您从根本上改变表单的工作方式,否则您无法解决此问题。
-
嗨,马克。是的,我知道如果我们使用 POST 方法会花费更多时间,但由于我对 php 非常陌生,所以我只知道这一切。有没有办法解决这个问题?谢谢
-
这个和浏览器有关,和PHP无关。但你可以做一件事。您可以使用标签来设置上一个和下一个。让我发布一个答案。
-
@PraveenKumar 非常感谢 Praveen :) 将等待您的帖子 :)
-
@MarcB 你能给我教程链接吗?谢谢
标签: php