search

Home  >  Q&A  >  body text

PHP中$_GET这个方法还有点没明白,求大神指教?

小白小白2884 days ago1202

reply all(3)I'll reply

  • 数据分析师

    数据分析师2017-09-30 23:36:23

    I still don’t understand the $_GET method in PHP. Could you please give me some advice? -PHP Chinese website Q&A-I still don’t understand the $_GET method in PHP. Could you please give me some advice? -PHP Chinese website Q&A

    Please watch and learn.

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2016-12-22 15:46:22

    $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

    $_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。


    看个获取表单数据的实例

    <INPUT TYPE="image" NAME="submit_one" SRC="b.gif">
    <INPUT TYPE="image" NAME="submit_two" SRC="b2.gif">


    //Properly determining which submission button was clicked in PHP:

    <?php
         if(isset($_GET['submit_one_x'])) {

         } elseif(isset($_GET['submit_two_x'])) {
         } else {

         }
    ?>

    实例二

    <?
    <FORM ACTION="index.php" METHOD=GET>
    <INPUT TYPE="hidden" NAME="time" VALUE="<?php echo time(); ?>">
    Enter your message (5 minute time limit):<INPUT TYPE="text" NAME="mytext" VALUE="">
    <INPUT TYPE="submit" Value="Send Data">
    </FORM>

    if($_GET['time']+300 >= time()) {
         echo "You took too long!<BR>";
         exit;
    }
    ?>

    操作select值

    <SELECT NAME="myselect[]" MULTIPLE SIZE=3>
    <OPTION VALUE="value1">A</OPTION>
    <OPTION VALUE="value2">B</OPTION>
    <OPTION VALUE="value3">C</OPTION>
    <OPTION VALUE="value4">D</OPTION>
    </SELECT>


    //The PHP code to access which value(s) were selected:

    <?php
         foreach($_GET['myselect'] as $val) {
              echo "You selected: $val<BR>";
         }
         echo "You selected ".count($_GET['myselect'])." Values.";
    ?>

    获取表单提交的数据再输出,这也是个完整的实例

    <html>
    <head>
    <title>A Simple HTML Form</title>
    </head>
    <body>
    <p>
    <form action="index.php" method="get">
    <p><input type="text" name="user" /></p>
    <p><textarea name="address" rows="5" cols="40">
    </textarea></p>
    <p><input type="submit" value="hit it!" /></p>
    </form>
    </p>
    </body>
    </html>


    // index.php
    <html>
    <body>
    <p>
     <?php
      print "Welcome <b>" . $_GET ['user'] . "</b><br/>nn";
      print "Your address is: <br/><b>" . $_GET ['address'] . "</b>";
      ?>
     </p>
    </body>
    </html>

    注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

    注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的


    reply
    0
  • 迷茫

    迷茫2016-12-22 15:27:21

    GET传值就用$_GET获取,POST提交表单就用$_POST
    post与get的区别是一个在地址栏显示参数,另一个不显示

    举个例子,如果你登录的时候用get方式,那么你的值就会在地址栏上显示,这样就无安全性可言

    使用post,地址栏就不会显示表单填写的信息!

    reply
    1
  • Cancelreply