2012-06-07 4 views
2

Je suis très nouveau dans la programmation PHP depuis 3 jours que j'ai commencé, j'ai donc besoin de votre aide. Je crée un formulaire qui contient 4 pages. Lorsque l'utilisateur clique sur le bouton Retour, par exemple de la page 2 à la page 1, toutes les données qu'il a précédemment sélectionnées sur la page1 doivent être présentes là pour qu'il n'ait pas besoin de le remplir à nouveau. Pourriez-vous s'il vous plaît m'aider avec ceci en affichant le code.Problème avec le bouton RETOUR

Voici l'exemple de code

de 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

Enquête .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> 
} 

. . . . . . . . ?>

pouvez-vous m'aider s'il vous plaît comment mettre en œuvre le bouton de retour. Merci à l'avance

+0

Vous utilisez des opérations POST, ce qui fait que pratiquement tous les navigateurs se plaignent auprès de l'utilisateur de la possibilité de transférer des données précédemment soumises. Vous ne pouvez pas contourner ce problème à moins que vous ne changiez fondamentalement le fonctionnement de votre formulaire. –

+0

Bonjour Marc. Oui, je sais que cela prendrait beaucoup plus de temps si nous utilisions la méthode POST mais puisque je suis très nouveau sur php, c'est tout ce que je sais. Existe-t-il un moyen de contourner ce problème? Merci – Jathin

+1

C'est quelque chose lié aux navigateurs et PHP n'a rien à faire. Mais vous pouvez faire une chose. Vous pouvez utiliser les onglets pour avoir précédent et suivant. Permettez-moi de poster une réponse pour cela. –

Répondre

5

Essayez ce j'espère que son travail pour vous

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 Ou 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

comme décrit par @query master, il est préférable de stocker les valeurs dans la session et appelez-les quand et où vous en avez besoin – baig772

+0

@QueryMaster Cela a fonctionné parfaitement bien. Merci beaucoup pour votre aide – Jathin

+0

@JathinNagesh no porblem –

Questions connexes