【问题标题】:How to pass selected option to another page如何将选定的选项传递到另一个页面
【发布时间】:2013-05-22 06:16:43
【问题描述】:

当我使用选择标记时,没有显示任何内容,因为使用 $_SESSION 变量在第二页中看不到。有人帮助我:我很困惑: 我的第一页:

  <?php
    session_start();
    if(isset($_SESSION['a'])){
        echo $_SESSION['a'];
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="test2.php">
      <label for="df"></label>
      <input type="text" name="df" id="df" />
      <select name="a">
      <option value="12" />12

      <option value="13"/>13

      </select>
      <input type="submit" value="send" />
    </form>
    <?php
    if(isset($_post)){
        if(isset($_POST['a'])){
    $_SESSION['a']= $_POST['a'];
    }
    }
    ?>
    </body>
    </html>

我的第二个页面:

 <?php
    session_start();
    $r12=13;
    if(isset($_SESSION['a'])){
        echo $r12;
    }

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>

    aaa
    <?php

    if(isset($_SESSION['a'])){
        echo $_SESSION['a'];
    }
    ?>
    </body>
    </html>

【问题讨论】:

标签: php html


【解决方案1】:

试试这个

if(isset($_POST) && !empty($_POST)){
 echo 'your selected option : '.$_POST['a'];
}

【讨论】:

    【解决方案2】:

    这是另一种方式,你的第一页应该是这样的..

    <?php
    session_start();
    
    if(isset($_SESSION['a'])){
       echo $_SESSION['a'];
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <title>Untitled Document</title>
     </head>
     <body>
       <form id="form1" name="form1" method="post">
          <label for="df"></label>
            <input type="text" name="df" id="df" />
          <select name="a">
             <option value="12" />12
             <option value="13"/>13
            </select>
          <input type="submit" value="send" name="submit"/>
       </form>
    <?php
    if(isset($_POST['submit'])){
       if(isset($_POST['a'])){
          $_SESSION['a']= $_POST['a'];
            $url = 'test2.php'; // Define the URL:      
            header("Location: $url");
            exit(); // Quit the script.         
        }
    }
    ?>
     </body>
    </html>
    

    【讨论】:

      【解决方案3】:

      这将起作用:只需将 $_POST['a'] 设置为会话,您也可以在其他页面上使用它。

      <?php
          session_start();
          if(isset($_POST['submit'])){
              echo $_POST['a'];
              }
          else{
          ?>
      <head>
          <title>Untitled Document</title>
      </head>
      <body>
          <form name="form1" method="post" action="index.php">
          <input type="text" name="df" id="df" />
              <select name="a">
                  <option value="12" >12</option>
                  <option value="13">13</option>
              </select>
          <input type="submit" value="send" name='submit' />
          </form>
          <?php
          }
          ?>
      </body>
      </html>
      

      【讨论】:

      • 永远不需要将您的选项文本复制为选项的value 属性。忽略那一点标记膨胀。
      【解决方案4】:

      您发布到test2.php,所以只有test2.php 会收到$_POST,而不是第一页!

      如果您在 second 页面上调用 var_dump($_POST),您应该会看到正在发送的变量。但是$_POST 会在表单显示在首页页面时为空(即在表单提交之前)。

      【讨论】:

        【解决方案5】:
        <input type="submit" value="send" name="submit"/>
        

            if(isset($_POST['submit'])){
        

        【讨论】:

          【解决方案6】:

          在您的isset($_post) 中,这应该是isset($_POST)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-01-25
            • 2020-11-16
            • 2019-05-09
            • 2013-09-22
            • 1970-01-01
            • 2020-04-18
            • 1970-01-01
            相关资源
            最近更新 更多