问题
I have a form, Form_hour.php
, that is loaded into the browser, and allows a user to select an hour. The form sends the variable $hour
, via action="get"
, to the file View_A.php
which uses $hour
to query a database, and then loads View_A.php
into the browser window, showing data for the selected hour.
In View_A, there is a button allowing the user to switch to View_B. The idea is that when the user clicks on View_B, the file View_B.php
loads in the browser. View_B.php
, like View_A.php
, queries the database using that same $hour
.
So what I want is for the same user-selected variable $hour
to be available to both View_A.php
AND View_B.php
. i.e., if the user selects 6 a.m., then I want View_A and View_B to show data for 6 a.m.
I thought that having Form_hour.php
send $hour
to the file common.php
, and then include common.php
in View_A.php
and View_B.php
would work. But I keep getting the error "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4327 bytes)" in View_A.php
.
Does anyone have any ideas what I'm doing wrong?
Thanks in advance!
回答1:
If I'm not mistaken you could just do it like I wrote below.
This will direct the user to a difrent page, but will do what you want.
form_hour.php
<form action="View_A.php" method="post">
your code
</form>
View_A.php
<?php
$_POST['hour'] = $hour
// query database and do something with it!
?>
<form action="View_B.php" method="post">
<input type="hidden" name="hour" value=<?php print('"'.$hour.'"'); ?>>
<input type="submit" ..... >
</from>
Like you asked, If you want the form as a var.
<?php
$_POST['hour'] = $hour
// query database and do something with it!
$form = '<form action="View_B.php" method="post">
<input type="hidden" name="hour" value="'.$hour.'">
<input type="submit" ..... >
</from>';
//to show it just print/echo it.
print($from);
?>
View_B.php
<?php
$_POST['hour'] = $hour
// query database and do something with it!
?>
来源:https://stackoverflow.com/questions/32740496/make-php-form-generated-variable-available-in-two-php-files