This is a discussion on Page Has Expired Message in between the php Page When I click Back in Explorer Menu within the alt.comp.lang.php forums, part of the PHP Programming Forums category; Could anyone please help me on this?? I have a php script page, which is basically quiz. Visitors (after login ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Could anyone please help me on this??
I have a php script page, which is basically quiz. Visitors (after login in with their email address) are supposed to answer each question, and when they click the button at the bottom, the next page will show which problems they got right or wrong. Now my visitors, after seeing some problems they got wrong, click Back button at the Explorer menu, and if they do, they get the below message: ================================================== ========================== ======================== Warning: Page has Expired The page you requested was created using information you submitted in a form. This page is no longer available. As a security precaution, Internet Explorer does not automatically resubmit your information for you. To resubmit your information and view this Web page, click the Refresh button. ================================================== ========================== ======================== Below are the script that I am using. This scripts are after initial login page, which asks for visitor's email address. I have authorized visitors already in my MySQL table, and only the visitors whose email address is in my MySQL table are allowed to login. ================================================== ======================= <?php session_start(); define('HOST', 'mysql'); define('USER', 'byung'); define('PASS', 'xiclcvjq'); define('DB', 'Learning'); if (empty($HTTP_SESSION_VARS['emailadd'])) { mysql_connect(HOST, USER, PASS); mysql_select_db(DB); $result = mysql_query("SELECT COUNT(*) AS numfound FROM emailAddress WHERE emailaddress='{$HTTP_POST_VARS['emailadd']}'") or die(mysql_error()); $result_ar=mysql_fetch_array($result); if ($result_ar['numfound']<1) { header('Location: jinuform.php?error=1'); exit; } $emailadd=$HTTP_POST_VARS['emailadd']; session_register('emailadd'); $insert = mysql_query("INSERT INTO StuAccess (emailaddress, IssueNo) VALUES ('{$HTTP_POST_VARS['emailadd']}', 1)") or die(mysql_error()); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Jinu Math Study Guide</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div align="center"> <table width="745" border="1" cellspacing="0" cellpadding="0"> <tr> <td width = "200"> </td> <td width = "545"> </td> </tr> <tr> <td> </td> <td>> </td> </tr> <tr> <td height="459"> </td> <td><form name="form1" method="post" action="grade.php"> <table width="545" border="1" cellspacing="0" cellpadding="0"> <tr> <td><div align="center">Today's Exercise</div></td> </tr> <tr> <td bgcolor="#E0E0E0"><strong><font color="#0000A0">Q<font size="1">UESTION </font>1</font></strong></td> </tr> <tr> <td><p>What is the length of l times w?</p> <input type="radio" name="Q1" value="1"> <input type="radio" name="Q1" value="2"> <input type="radio" name="Q1" value="3"> <input type="radio" name="Q1" value="4"><br> </td> </tr> <tr> ================================================== ======================= What above codes do is getting the email address from the login page (from the previous page), and then allow login only if the visitors' email address they typed in is in my MySQL database. Below are the codes, which process the quiz form: <?php define('HOST', 'mysql'); define('USER', 'byung'); define('PASS', 'xiclcvjq'); define('DB', 'JinuAcademy'); mysql_connect(HOST, USER, PASS); mysql_select_db(DB); $q1 = $HTTP_POST_VARS['Q1']; $q2 = $HTTP_POST_VARS['Q2']; $q3 = $HTTP_POST_VARS['Q3']; $q4 = $HTTP_POST_VARS['Q4']; $q5 = $HTTP_POST_VARS['Q5']; $q6 = $HTTP_POST_VARS['Q6']; $q7 = $HTTP_POST_VARS['Q7']; if ($q1 == '' || $q2 == '' || $q3 == '' || $q4 =='' || $q5 == '' || $q6 == '' || $q7 == '') { echo '<h1>Sorry!! You need to fill in your answer for all questions</h1>'; } else { $score = 0; if ($q1 == 1) { $score++; $q1Grade = "Correct"; echo '<B>1. Correct!!</B><p>'; } else { $q1Grade = "Incorrect"; echo '<B>1. Incorrect..</B><p>'; } if ($q2 == 1) { $score++; ..... Now above codes present how the visitor did in the Quiz. But from this page, if the visitor click the Back button, then they get the error message above. How would I be able to make my visitor to go back to the previous page with answers they have clicked in showing up again rather than getting page expired message?? Any help or comment will be deeply appreciated. Thanks. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|