Gayner Posted November 29, 2009 Share Posted November 29, 2009 Hi, this is html form: And let's say they get a error "Please enter ur title must be more then 3 character" then they click the BACK BUTTON AND ALL THERE DATA IS GONE!! How i fix? <form action="u.php" method="post"> <INPUT TYPE=hidden NAME=name VALUE="<?php echo $_SESSION['user_name']; ?>"> <fieldset class="in" style="width:804px"> <legend>Submit Prayer</legend> <div class="p9 ce"> <?php echo $l; ?> Welcome, Please fill out the Prayer form and it will be submited into the Prayer Center! </div> <table class="ftbt"> <tr> <td align="right" width="25%">Prayer Title:</td> <td><input type="text" name="title" value="" size="30" maxlength="50"/></td> </tr> <tr> <?php echo $pray; ?> </tr> <tr> </tr> <tr> <td align="right">Level of Prayer:</td> <td class="cL"><select name="level"> <option value="1">Please God Right Now</option> <option value="2">In a Few Minutes</option> <option value="3">Maybe today</option> <option value="4">Sometime this Week</option> <option value="5">In a couple of Years</option> <option value="6">Whenever you want</option> </select> </td> </tr> <tr> <td align="right" valign="top">Prayer:</td> <td><textarea name="prayer" cols="88" rows="11"></textarea></td> </tr> <tr class="bts ce"><td colspan=2><b>Security Code Confirmation</b></td></tr> <tr> <td align="right">Your unique security code<input type="hidden" name="secId" value="76c2b0e6f20ed0f1b209bcf39dee8e06"></td> <td> <img src="php_captcha.php"> <br><span class="desc">If The images are broke, please contact us.</span></span> </td> </tr> <tr> <td align="right" >Confirm security code:</td> <td><input type="text" size="3" maxlength="5" name="number" /><br><span class="desc">Please Enter the 3 Digit code above, Only Numbers are allowed.</span></td> </tr> </table> This is my PHP u.php <?php include 'dbc.php'; page_protect(); session_cache_limiter('private, must-revalidate'); header('private, must-revalidate'); if (!isset($_SESSION['user_id'])) { $e = ""; } $title = $_POST['title']; $text = $_POST['prayer']; $time = date("D, M j Y, h:ia"); $name = $_POST['name']; if(trim($_POST['title'])=='' || strlen(trim($_POST['title'])) > 30 || strlen(trim($_POST['title'])) > 30){ echo "Please enter a Title between 3 and 30 characters!<br />"; //concatenate the $error Message with a line break exit; } //maybe dont need $private = $_POST['private']; if(trim($_POST['name']) > 20){ echo "Please enter a username between 3 and 20 characters!<br />"; //concatenate the $error Message with a line break exit; } $key=substr($_SESSION['key'],0,3); $number = $_REQUEST['number']; if($number!=$key){ echo '<center><font face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000"> Validation string not valid! Please try again!</font></center>'; exit; } else { unset($_SESSION['key']); /* if (!isset($_SESSION)) { session_start(); } // anti flood protection if(isset($_SESSION['lol']) && $_SESSION['lol'] > time() - 30){ // users will be redirected to this page if it makes requests faster than 2 seconds echo "Stop flooding please"; exit; } $_SESSION['lol'] = time(); */ mysql_query("INSERT INTO `prays` (`title`,`prayer`,`time`,`level`,`nameid`,`name`) VALUES ( '". mysql_real_escape_string($_POST['title']) ."', '". mysql_real_escape_string($text) ."', '". mysql_real_escape_string($time) ."', '". mysql_real_escape_string($_POST['level']) ."', '". mysql_real_escape_string($e) ."', '". mysql_real_escape_string($name) ."');") or die(mysql_error()) ; mysql_close(); } ?> Link to comment https://forums.phpfreaks.com/topic/183266-save-data-in-input-fields-when-they-press-back-button/ Share on other sites More sharing options...
abazoskib Posted November 29, 2009 Share Posted November 29, 2009 On the page where your form is, you'll have to use isset() to determine whether each of these $title = $_POST['title']; $text = $_POST['prayer']; $name = $_POST['name']; is set. If it is not already set then define it as $text=''; For ea textfield you could then add $text as its value. A select drop down is a little bit trickier than that, try it out. This should get you started: <?php if(isset($_POST['title'])) $title = $_POST['title']; else $title = ''; if(isset($_POST['prayer'])) $text = $_POST['prayer']; else $text = ''; if(isset($_POST['name'])) $name = $_POST['name']; else $name = ''; ?> ... ... <table class="ftbt"> <tr> <td align="right" width="25%">Prayer Title:</td> <td><input type="text" name="title" value="$title" size="30" maxlength="50"/></td> </tr> Link to comment https://forums.phpfreaks.com/topic/183266-save-data-in-input-fields-when-they-press-back-button/#findComment-967368 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.