我正在学习php。我将一些值从一个页面传递到另一个页面,并让用户在此页面中输入表单,然后存储到数据库中。
我想留在同一页面,所以不要这样 第一页 -
<form method="post" action="update.php">
<input type="text" name="name" value="value1" />
</form>
update.php
<?php
$name= $_POST['name'];
?>
我想要在同一页面上,因为我从前一页获得了一些带有get()的变量和数组
<?php
$count= $_GET['count'];
$sum= $_GET['Sum'];
for ($i=0;$i<$count;$i++){
echo unserialize($_GET['serialized_name'])[$i];
?>
因为我还需要发送表单值,所以我不知道如何传递我到达下一页的值 - 这就是为什么我希望在同一页面上而不是去update.php
答案 0 :(得分:1)
试试这个,把所有这些代码放在你想留下的页面上(我说这是update.php):
<?php
if($_POST['submit_button'] == "Submit")
{
$name= $_POST['name'];
}
?>
<form method="post" action="update.php">
<input type="text" name="name" value="value1" />
<input type="submit" name="submit_button" value="Submit"/>
</form>
答案 1 :(得分:1)
您可以使用<input type=submit
上方的隐藏字段将更多数据传递到update.php。
e.g。 <input type="hidden" name="some_data" value="<?php echo $some_data; ?>" />
当然,任何网络访问者如果使用浏览器的“查看源代码”功能,都可以看到这些数据,因此只能使用不会导致安全问题的数据。
然后,在update.php中,您可以通过执行$some_data = $_POST["some_data"]
答案 2 :(得分:1)
<?php
@session_start();
$_session['count']= $_GET['count'];
$_session['sum']= $_GET['Sum'];
for ($i=0;$i<$_session['count'];$i++){
//make necessary changes here as well
echo unserialize($_GET['serialized_name'])[$i];
//use session to store your data from previous page
?>
<?php
//put this code above the form to process the submitted data which was previously sent to update.php
if(isset($_POST[submit])){
//Your code
e.g.
$name=$_POST['name']
//whenever you want to access previous data just get it from session variable.
e.g. $count=$_SESSION['count'];
}?>
<html>
<!--Submit the data of the form to itself instead of update.php -->
<form method="post" action="<?php echo $PHP_SELF;?>">
<!--your html code -->
</form>
</html>