/    Sign up×
Community /Pin to ProfileBookmark

Form not holding information after submit…

I seem to keep having this problem, and I’m not sure why.

For my forms, I do all the information on one page. That means the email script of update/insert script or whatever, is generally at the top, and I have this this distinguish what the page should show:

[code=php]
if (‘POST’ == $_SERVER[‘REQUEST_METHOD’]){
echo ‘Do Insert’;
}else{
echo ‘Show Form’;
}
[/code]

I think this is pretty standard, but I’m not sure if this is causing the problem or not. The problem comes after the form has been submitted.

One one form, it does validation, and if everything checks out, is submits the information and tells the user it was successfully submitted. If there is an error, it tells you where the error was, you can hit the back button, and fix the error. All the information you previously entered is still in the form. There are about 20 questions for this form.

With a new form I am creating, if there is an error and you hit the back button, the form is not empty. For some reason it doesn’t save all the information.

Why does it do this? Does anyone know? Is this a HTML problem or a PHP problem?

to post a comment
PHP

3 Comments(s)

Copy linkTweet thisAlerts:
@gtzpowerApr 18.2007 — i can't tell you exactly whats going on, but I can tell you not to rely on the browser back button to save your form data. I'm not sure of its reliability, and that's the only reason why (never personally seen it fail as you describe, but it feels unprofessional to me). Use javascript as much as you can to validate and prevent errors on the same page. Beyond that, ideally, you could use AJAX to submit data to PHP and and get feedback from the PHP script without even leaving the page. That can get complex, but I personally do it because it is the best route (this is only my opinion though).

Sorry i cant help you more.
Copy linkTweet thisAlerts:
@dxillusionApr 18.2007 — do a javascript validation like gtzpower said and if you dont know javascript then instead of telling them to go back and resubmit why not just output the information you got and mark the ones that were invalid and do a resubmit from there rather than going back let me give you an example
[code=php]
<?php
if(isset($_POST['submit']))
{
$fname = (ctype_alpha($_POST['first_name'])) ? $_POST['first_name'] : false;
$lname = (ctype_alpha($_POST['last_name'])) ? $_POST['last_name'] : false;
$uname = (ctype_alnum($_POST['user_name']) && strlen($_POST['user_name'] > 5) ? $_POST['user_name'] : false;
if(is_string($fname) && is_string($lname) && is_string($uname))
{
//do w/e you want like add to the db or etc
}
else
{
echo "<form method='post' action=".$PHP_SELF.">";
if(!is_string($fname)){
echo "<span style='color: red;'>*</span><input type='text' name='first_name' value='".$_POST['first_name']."'>";
}else{ echo "<input type='text' name='first_name' value='".$fname."'>"; }
// so on and so forth for every one of them
}
else
{
include('output.php');
}
?>
[/code]


hope this was helpful
Copy linkTweet thisAlerts:
@jesseainskeepauthorApr 18.2007 — Thank you very much for the input.

I generally try not to do very much with JavaScript. I do know it, I still just worry about the people that have it turned off being able to do whatever they want with my forms.

I've started to use AJAX a little, but I never really thought of using it to do my database work (ie. update, delete, add). Mostly what I use it for now is just to query, and update a drop down box dynamically.

I guess my only problem would be passing objects back and forth. With my PHP, I do everything I possibly can in OOP. (I probably go a little overboard with this, but hopefully it will pay off one day).

Do you have any [B]good[/B] advice/tutorials for working with forms and OOP with AJAX?
×

Success!

Help @jesseainskeep spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.4,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,

tipper: @Samric24,
tipped: article
amount: 1000 SATS,
)...