You are here: Re: How to retain the $_POST variables? « All PHP « IT news, forums, messages
Re: How to retain the $_POST variables?

Posted by Mike on 05/25/07 07:40

On May 24, 8:02 pm, "J.O. Aho" <u...@example.net> wrote:
> damezumari wrote:
> > Tom, when I try your suggestion $_POST['userfirstname'] is empty. It
> > has a value in b.php, but I don't get any value when I try to use it
> > in a.php.
>
> > What am I doing wrong?
>
> > You used $_FORM, did you mean $_POST? If not, what is $_FORM?
>
> There isn't any $_FORM global variable in PHP.
> Depending on how you redirect the person back to page a, you either use $_POST
> or $_GET, when you don't know which method will be used, then use the
> $_REQUEST global
>
> Another method is to store values in a session, this way you don't have to
> send anything with the redirect.
>
> It's quite obvious that Tom made a typo, at least in my opinion, he meant
> $_POST in both cases.
>
> --
>
> //Aho

I do the check for valid inputs on the same page as the form. I have
a hidden value when the form is submitted.

When you first go to the page, the user hasn't submitted the form so
the hidden value isn't set so it will ignore all the checks. As Tom
suggests, you default the inputs with the $_POST values.

Once the user submits the form, the page calls itself with the hidden
value set. The same page can then check that all the inputs are
correct. If not, show the error. If they are, then either do what
you have to with the data or locate to a different page and do it.

Try this as an example....


<?php
if ($_POST[firstseen] == "no") {
//check inputs
if ($_POST[name] == "") {
$name_message = "* - You must enter a name";
$allok = "no";
}
if ($_POST[location] == "") {
$location_message = "* - You must enter a location";
$allok = "no";
}
if ($_POST[message] == "") {
$message_message = "* - You must enter a message";
$allok = "no";
}
if ($allok != "no") {
//re-direct to thankyou page
header("location: thanks.php");
}
}
?>
<form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post"
name="visitors" id="visitors">
Name<input name="name" value="<?php echo
stripslashes($_POST[name]); ?>" type="text" id="name" size="50"
maxlength="50<?php echo $name_message ?>
Location<input name="location" type="text" value="<?
php echo stripslashes($_POST[location]); ?>" id="location" size="50"
maxlength="50<?php echo $location_message ?>
Message <textarea name="message" cols="38" rows="7"
id="message"><?php echo stripslashes($_POST[message]); ?></textarea<?
php echo $message_message ?>
<input name="firstseen" type="hidden" value="no">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</form>

Cheers
Mike

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация