【问题标题】:php and html form on the same pagephp和html表单在同一页面上
【发布时间】:2012-12-09 02:04:21
【问题描述】:

我正在学习 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 .

【问题讨论】:

    标签: php html mysql


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

      试试这个,把所有这些代码放在你想停留的页面中(我这里说的是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>
      

      【讨论】:

      • 谢谢,但它似乎对我不起作用。也许我不明白你的回答正确 - if($_POST['submit_button'] == "Submit") 应该在第一页上,我可以把我所有的 update.php 代码放到这个 php 块中?
      • 但请务必将表单中的操作更改为您所在的页面而不是 update.php
      • 谢谢,但它不起作用 - 第一个问题是我从我所在页面的上一页获取变量,我也许可以通过使用 isset() 来解决这个问题?但无论如何,我使用的 mysql 代码是在 update.php 页面上存储值,但现在不是。
      【解决方案3】:

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

      例如&lt;input type="hidden" name="some_data" value="&lt;?php echo $some_data; ?&gt;" /&gt;

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-23
        • 2016-05-18
        • 2016-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多