【问题标题】:How to get input field value using PHP如何使用 PHP 获取输入字段值
【发布时间】:2012-11-07 00:08:53
【问题描述】:

我有一个输入字段如下:

<input type="text" name="subject" id="subject" value="Car Loan">

我想获取输入字段值Car Loan 并将其分配给会话。如何使用 PHP 或 jQuery 做到这一点?

【问题讨论】:

    标签: php


    【解决方案1】:

    使用 PHP 的 $_POST$_GET 超全局变量通过 HTML 标记的名称检索输入标记的值。

    例如,更改表单中的方法,然后通过输入的名称回显值:

    使用$_GET方法:

    <form name="form" action="" method="get">
      <input type="text" name="subject" id="subject" value="Car Loan">
    </form>
    

    显示值:

    <?php echo $_GET['subject']; ?>
    

    使用$_POST方法:

    <form name="form" action="" method="post">
      <input type="text" name="subject" id="subject" value="Car Loan">
    </form>
    

    显示值:

    <?php echo $_POST['subject']; ?>
    

    【讨论】:

      【解决方案2】:

      使用 PHP 从表单中获取值的示例:

      把这个放在 foobar.php 中:

      <html>
      <body>
        <form action="foobar_submit.php" method="post">
          <input name="my_html_input_tag"  value="PILLS HERE"/>
      
          <input type="submit" name="my_form_submit_button" 
                 value="Click here for penguins"/>
      
          </form>
      </body>
      </html>
      

      阅读上面的代码,你就会明白它在做什么:

      "foobar.php 是一个包含 HTML 表单的 HTML 文档。当用户在表单内按下提交按钮时,表单的 action 属性运行:foobar_submit.php。表单将作为 POST 请求提交。在里面form 是一个名为“my_html_input_tag”的输入标签。它的默认值是“PILLS HERE”。这会导致一个文本框出现在浏览器上,其中包含文本:“PILLS HERE”。右侧是一个提交按钮,当您单击它,浏览器 url 更改为 foobar_submit.php 并运行以下代码。

      把这段代码放到foobar_submit.php中,和foobar.php同目录下:

      <?php
        echo $_POST['my_html_input_tag'];
        echo "<br><br>";
        print_r($_POST); 
      ?>
      

      阅读上面的代码,你就会知道它在做什么:

      上面的 HTML 表单用代表表单内 html 元素的键/值对填充了 $_POST 超全局变量。 echo 通过键打印出值:'my_html_input_tag'。如果找到键,它就是,它的值被返回:“PILLS HERE”。

      然后 print_r 打印出 $_POST 中的所有键和值,以便您可以查看其中还有什么。

      name=my_html_input_tag 的输入标签的值被放入 $_POST 中,您在另一个 PHP 文件中检索它。

      【讨论】:

        【解决方案3】:

        您可以将值$value 获取为:

        $value =  $_POST['subject'];
        

        或:

        $value = $_GET['subject'];,取决于使用的表单方法。

        session_start();
        $_SESSION['subject'] =  $value;
        

        该值已分配给会话变量主题。

        【讨论】:

          【解决方案4】:

          对于全球使用,您可以使用:

          $val = $_REQUEST['subject'];
          

          并添加您的会话,只需

          session_start();
          $_SESSION['subject'] =  $val;
          

          在这种情况下你不需要 jQuery。

          【讨论】:

            【解决方案5】:
            function get_input_tags($html)
            {
                $post_data = array();
            
                // a new dom object
                $dom = new DomDocument; 
            
                //load the html into the object
                $dom->loadHTML($html); 
                //discard white space
                $dom->preserveWhiteSpace = false; 
            
                //all input tags as a list
                $input_tags = $dom->getElementsByTagName('input'); 
            
                //get all rows from the table
                for ($i = 0; $i < $input_tags->length; $i++) 
                {
                    if( is_object($input_tags->item($i)) )
                    {
                        $name = $value = '';
                        $name_o = $input_tags->item($i)->attributes->getNamedItem('name');
                        if(is_object($name_o))
                        {
                            $name = $name_o->value;
            
                            $value_o = $input_tags->item($i)->attributes->getNamedItem('value');
                            if(is_object($value_o))
                            {
                                $value = $input_tags->item($i)->attributes->getNamedItem('value')->value;
                            }
            
                            $post_data[$name] = $value;
                        }
                    }
                }
            
                return $post_data; 
            }
            
            error_reporting(~E_WARNING);
            $html = file_get_contents("https://accounts.google.com/ServiceLoginAuth");
            
            print_r(get_input_tags($html));
            

            【讨论】:

              【解决方案6】:

              如果是获取请求使用,$_GET['subject'] 或者如果是发布请求使用,$_POST['subject']

              【讨论】:

                【解决方案7】:
                <form action="" method="post">
                <input type="text" name="subject" id="subject" value="Car Loan">
                <button type="submit" name="ok">OK</button>
                </form>
                <?php
                if(isset($_POST['ok'])){
                echo $_POST['subject'];
                }
                ?>
                

                【讨论】:

                  猜你喜欢
                  • 2015-11-15
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-07-29
                  • 2014-12-04
                  • 1970-01-01
                  • 2012-07-18
                  相关资源
                  最近更新 更多