0

我正在学习php。我将一些值从一个页面传递到另一个页面,并让用户在此页面中输入表单,然后存储到数据库中。

我想留在同一页上,所以不是第一页-

<form method="post" action="update.php">
   <input type="text" name="name" value="value1" />
</form>

更新.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。

4

3 回答 3

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>
于 2012-12-09T02:11:13.690 回答
1

您可以使用 .php 上方的隐藏字段将更多数据传递给 update.php <input type=submit

例如<input type="hidden" name="some_data" value="<?php echo $some_data; ?>" />

当然,任何网络访问者如果使用浏览器的“查看源”功能,都可以看到这些数据,因此只能对不会导致安全问题的数据执行此操作。

然后,在 update.php 中,您可以通过执行类似的操作来访问该数据$some_data = $_POST["some_data"]

于 2012-12-09T04:54:29.113 回答
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>
于 2012-12-09T05:21:24.917 回答