问题与返回按钮
问题描述:
我是非常新的PHP编程infact它刚刚开始3天,所以我需要你的帮助。 我正在创建一个包含4页的表单。当用户点击返回按钮时,例如从第2页到第1页,他先前在第1页上选择的所有数据应该在那里出现,以便他不需要再次填写它。 你能通过发布代码来帮助我吗?问题与返回按钮
下面是示例代码
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
// // somecode
调查.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>
}
。 。 。 。 。 。 。 。 ?>
请问您能否帮我实施后退按钮。 在此先感谢
答
试试这个,我希望它为你工作
page1.php中
<?php
@session_start();
//$session=session_id();
//$_SESSION['session']=$session;
//print_r($_SESSION);
?>
<html>
<body>
<form action="oopssurvey.php" method="post">
Where do you work?<br/>
<Input type ="radio" name="location" value="USA" <?php if(isset($_SESSION['location']) == 'USA') echo "checked='checked'" ?>/>
In the United states<br/>
<Input type ="radio" name="location" value="India" <?php if(isset($_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
<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" <?php if(isset($_SESSION['effective']) == 'Agree') echo "checked='checked'" ?>/>
Agree<br/>
<Input type ="radio" name="effective" value="Agreenordisagree" <?php if(isset($_SESSION['effective']) == 'Agreenordisagree') echo "checked='checked'" ?>/>
Neither Agree nor Disagree<br/>
<Input type ="radio" name="effective" value="disagree" <?php if(isset($_SESSION['effective']) == 'disagree') echo "checked='checked'" ?>/>
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" <?php if(isset($_SESSION['training']) == 'Agree') echo "checked='checked'" ?>/>
Agree<br/>
<Input type ="radio" name="training" value="Agreenordisagree" <?php if(isset($_SESSION['training']) == 'Agreenordisagree') echo "checked='checked'" ?>/>
Neither Agree nor Disagree<br/>
<Input type ="radio" name="training" value="disagree" <?php if(isset($_SESSION['training']) == 'disagree') echo "checked='checked'" ?>/>
Disagree<br/>
All employees at the company are treated fairly regardless of differences.<br/>
<Input type ="radio" name="treated" value="Agree" <?php if(isset($_SESSION['treated']) == 'Agree') echo "checked='checked'" ?>/>
Agree<br/>
<Input type ="radio" name="treated" value="Agreenordisagree" <?php if(isset($_SESSION['treated']) == 'Agreenordisagree') echo "checked='checked'" ?>/>
Neither Agree nor Disagree<br/>
<Input type ="radio" name="treated" value="disagree" <?php if(isset($_SESSION['treated']) == 'disagree') echo "checked='checked'" ?>/>
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" <?php if(isset($_SESSION['effort']) == 'Agree') echo "checked='checked'" ?>/>
Agree<br/>
<Input type ="radio" name="effort" value="Agreenordisagree" <?php if(isset($_SESSION['effort']) == 'Agreenordisagree') echo "checked='checked'" ?>/>
Neither Agree nor Disagree<br/>
<Input type ="radio" name="effort" value="disagree" <?php if(isset($_SESSION['effort']) == 'disagree') echo "checked='checked'" ?>/>
Disagree<br/>
<input name="Operation3" type="submit" value="saveandresume" />
<input name="Operation4" type="submit" value="next" />
<input name="Operation1" type="submit" value="back" />
</form>
</body>
</html>
Page3.php或者oopssurvey.php
<?php
@session_start();
//include 'classperson.php';
if(isset($_POST['Operation1']))
{
if($_POST['Operation1'] == 'saveandresume'){
$_SESSION['location'] = $_POST['location'];
echo "Please save the link inorder to continue your survey http://bonnie/~jnagesh/SampleSurvey/OOPS/oopspage2.php";
}else if($_POST['Operation1'] == 'back') {
include "page1.php";
}
}
else if(isset($_POST['Operation2'])){
include "page2.php";
}
elseif(isset($_POST['Operation3'])){
$_SESSION['effective'] = $_POST['effective'];
$_SESSION['training'] = $_POST['training'];
$_SESSION['treated'] = $_POST['treated'];
$_SESSION['effort'] = $_POST['effort'];
echo "Please save the link inorder to continue your survey later http://bonnie/~jnagesh/SampleSurvey/NextandBackButtons/page3.php";
}
elseif(isset($_POST['Operation4']))
{
if($_POST['Operation4'] == 'next'){
echo "welcome to form3";
//include "oopspage3.php";
}else{
/*$_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'];*/
}
}
?>
您正在使用POST操作,这将使几乎所有的浏览器向用户抱怨重新提交以前提交的数据。除非您从根本上改变表单的工作方式,否则无法解决此问题。 –
Hi Marc。是的,我知道如果我们使用POST方法会花费更多的时间,但是因为我对PHP非常陌生,所以我知道这一点。有没有办法我们可以解决这个问题?谢谢 – Jathin
这是与浏览器相关的东西,PHP无关。但你可以做一件事。您可以使用选项卡上一个和下一个。让我为此发表一个答案。 –