问题与返回按钮

问题描述:

我是非常新的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> 
} 

。 。 。 。 。 。 。 。 ?>

请问您能否帮我实施后退按钮。 在此先感谢

+0

您正在使用POST操作,这将使几乎所有的浏览器向用户抱怨重新提交以前提交的数据。除非您从根本上改变表单的工作方式,否则无法解决此问题。 –

+0

Hi Marc。是的,我知道如果我们使用POST方法会花费更多的时间,但是因为我对PHP非常陌生,所以我知道这一点。有没有办法我们可以解决这个问题?谢谢 – Jathin

+1

这是与浏览器相关的东西,PHP无关。但你可以做一件事。您可以使用选项卡上一个和下一个。让我为此发表一个答案。 –

试试这个,我希望它为你工作

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'];*/ 

    } 


} 
?> 
+0

,正如@query master所描述的那样,最好将这些值存储在session中,并随时随地调用它们。 – baig772

+0

@QueryMaster它的工作非常好。非常感谢您的帮助 – Jathin

+0

@JathinNagesh no porblem –