搜索
首页后端开发php教程简单理解PHP超级全局变量

本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于超级全局变量的相关内容,超级全局变量是一种特殊的变量类型,是内建的和预定义的,可以从任何范围内访问,不需要执行任何特殊的代码段,下面一起来看一下,希望对大家有帮助。

简单理解PHP超级全局变量

理解PHP超级全局

超级全局变量是一种特殊的变量类型,因为它们可以从任何范围内访问。可以从任何文件、类、甚至函数中访问,而不需要执行任何特殊的代码段。

超全局变量是内建的和预定义的。程序员可以通过PHP类库来使用它们。请注意,在类库中并非所有内置的预定义变量都是超全局变量。

前提条件

要理解本文的内容,读者应该具备以下条件。

  • 对 PHP 变量声明技术有基本了解。
  • 对 PHP 有初步的了解。

PHP超级全局变量简介

超级全局变量是在 PHP 4.1.0 中引入的,此后一直是 PHP 的一个重要组成部分。在PHP中大约有9个超全局变量,有时被称为automatic globals 。它们如下所述。

  • $GLOBALS

  • $_SERVER

  • $_GET

  • $_POST

  • $_REQUEST

  • $_SESSION

  • $_COOKIE

  • $_FILE

  • $_ENV

让我们在下面的章节中讨论这些超级全局变量。

$GLOBALS

GLOBALS是一个PHP变量,用于访问PHP脚本中的其他全局变量。所有的PHP全局变量都保存在一个称为GLOBALS是一个PHP变量,用于访问PHP脚本中的其他全局变量。所有的PHP全局变量都保存在一个称为`GLOBALS[index] 的数组中。index 中保存着variable name` 。

下面是一个使用超全局变量$GLOBAL 的例子:)

   <!doctype html>
   <html>
   <head>
   <title>GLOBAL example</title>
     </head>
     <body>
     <?php
        //php Script
       // Varriable declaration
       $a = 5;
       $b = 6;
         function multiplication(){
          $GLOBALS[&#39;c&#39;] = $GLOBALS[&#39;a&#39;]* $GLOBALS[&#39;b&#39;];
         }

         multiplication();
         echo $c;

      ?>
    </body>
   </html>

在上面的例子中,变量$c 在函数内部和外部都可以访问,因为它在$GLOBALS 数组中。

$_SERVER

$_SERVER 是一个超全局变量,用于保存PHP脚本的信息头、路径和位置。 变量有几个元素被保存。它们包括$_SERVER

  • $_SERVER['PHP_SELF'] - 它返回当前正在执行的脚本的文件名。

  • $_SERVER['SERVER_NAME'] - 这返回托管网站的服务器的名称。

  • $_SERVER['HTTP_HOST'] - 这将返回当前请求的主机头。

  • $_SERVER['SCRIPT_NAME'] - 这返回当前脚本的路径。

下面是一个显示如何使用上述元素的示例代码。

   <!doctype html>
   <html>
   <head>
   <title> $_SERVER example</title>
   </head>
       <body>
       <?php
       // PHP script
              echo $_SERVER[&#39;PHP_SELF&#39;];
              echo "<br>";
              echo $_SERVER['SERVER_NAME'];
              echo "<br>";
              echo $_SERVER['HTTP_HOST'];
              echo "<br>";
              echo $_SERVER['SCRIPT_NAME'];
        ?>
       </body>
   </html>

上述代码的输出将包括。

  • 一个文件名。
  • 主机服务器的名称。
  • 主机当前请求的标题。
  • 当前脚本的路径。

$_GET

$_GET 变量是一个PHP超全局变量,用于收集HTML表单提交后的数据。HTML表单的结构是这样的:$_GET 作为一个方法。$_GET 也可以用来检索在uniform resource locator 中发送的数据。

下面是一个例子,说明如何在HTML表单中实现$_GET 变量。

   <!doctype html>
   <html>
   <head>
   <title>$_GET example</title>

   </head>
      <body>
         <!-- html form -->
      <form action="" method="GET">
          <label>Name</label>
          <input type="text" name="Name">
          <label>Email</label>
          <input type="text" name="Email">
          <button>Submit</button>

      </form>

          </body>
   </html>

当用户点击Submit 按钮时,表单中的信息会用GET 方法发送,并显示在URL 。然而,每次最多只能发送2048 字符。

$_POST

就像$_GET 变量一样,$_POST 收集来自HTML表单的值。使用这种方法发送的信息不会显示在URL中。一次可以发送的字符数也没有限制。

下面是一个例子。

    <!doctype html>
    <html>
    <head>
    <title>$_POST example</title>

    </head>
      <body>
          <!-- html form -->
      <form action="" method="POST">
         <label>Name</label>
         <input type="text" name="Name">
         <label>Email</label>
         <input type="text" name="Email">
         <button>Submit</button>
      </form>

      </body>
     </html>

为什么POST变量优于GET?

尽管POSTGET 方法实现了相同的功能,但由于以下原因,POST 更受青睐。

  • POST方法对可以发送的数据大小没有限制。

  • POST方法可以同时发送ASCII和二进制数据。

  • POST方法不会在URL上显示正在发送的信息,因此可以防止建立书签。

  • POST方法使用一个HTTP header 来发送数据。这促进了数据安全。

$_REQUEST

$_REQUEST 变量是一个PHP超全局,用于在提交表单后收集数据。它包含了$_GET$_POST ,甚至默认的$_COOKIE 的内容。各个字段的数据可以由PHP使用$_REQUEST 变量来收集。

下面的例子显示了如何使用$_REQUEST 这个变量。

<!doctype html>
<html>
    <head>
    <title>$_REQUEST example</title>
    </head>
     <body>
     <form action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>" method="POST">

        <label>Name</label>
        <input type="text" myname="Name">
        <button>Submit</button>

      </form>

      <?php
          if($_SERVER["REQUEST_METHOD"]=="POST"){
             $name = $_REQUEST[&#39;myname&#39;];
             if(!empty($myname))
          {
        
            echo $myname;

          }else{
             echo "Empty name";
          }

         }
      ?>

    </body>
</html>

上述代码的输出将是表单中已提交的name 。如果没有提交名字,它将打印一个信息Empty name

$_SESSION

$_SESSION 变量是一个PHP的超级全局,它可以在用户每次打开网站时存储和利用有关网站用户的信息,直到网站关闭。

每次用户访问网站时,都会启动一个会话。下面的函数被用来在PHP代码中启动一个会话。

   session_start()

会话开始后,需要使用$_SESSION 变量进行设置。

当用户离开一个网站时,会话被自动销毁。这是在用户不知情的情况下使用下面的PHP函数完成的。

session_destroy()

下面的例子演示了$_SESSION 的使用。

<? php
    session_start();
?>

 <!doctype html>
 <html>
   <head>
      <title>$_SESSION demonstration code</title>
   </head>

 <body>
      <?php
         //Set session varriables

         $_SESSION["name"]="Mackrine";
         $_SESSION["favcolor"]="Blue";
         echo "session varriables are set";
      ?>
 </body>

</html>

Cookie是一个小文件,由服务器存储在用户的计算机中。它可以识别用户。每当向服务器发出请求时。通常会在请求的同时发送一个cookie。PHP 使用setcookie() 函数创建 cookie。

   setcookie(cookie_name,cookie_value, expiry, path, domain,secure,httponly)

该语法有许多参数。然而,只有name 参数是必需的。

在创建之后,可以使用超全局$_COOKIE 变量来检索cookie。下面的代码显示了如何创建和检索一个cookie。

  <?php

    $cookie_name = "uname";
    $cookie_value = "Mackrine";

   //setting cookie

    setcookie($cookie_name, $cookie_value, time()+(86400*30),"/");

     ?>
    <!doctype html>
    <html>
    <body>
    <?php

       if(isset($_COOKIE[$cookie_name]))
        {
            echo "Cookie name:" .$cookie_name;
            echo "<br>";
            echo "Cookie value:" .$cookie_value;

        }
         else
         {
            echo $cookie_name. " is not set!";

         }
    ?>
    </body>
    </html>

只有在过期的情况下,才可以使用setcookie() 函数删除cookie。

$_FILES

$_FILES 是一个变量,包含使用HTTPPOST方法上传的项目。 数组包含几个元素,如下所述。$_FILES

  • $_FILES['file']['name'] - 这通常是要上传的文件的原始名称。

  • $_FILES['file']['type'] - 这是指被上传文件的类型。

  • $_FILES['file']['size'] - 以字节为单位的文件大小。

  • $_FILES['file']['tmp_name'] - 它指的是在服务器上上传的存储文件的临时文件名。

  • $_FILE['file']['error']- 文件上传的相关错误代码。

总结

超全局变量是PHP语言的核心。在PHP编程中需要这些变量来制作高功能的程序。因此,你可以利用这些信息来制作高质量的应用程序。

推荐学习:《PHP视频教程

以上是简单理解PHP超级全局变量的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:掘金。如有侵权,请联系admin@php.cn删除
PHP的目的:构建动态网站PHP的目的:构建动态网站Apr 15, 2025 am 12:18 AM

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP:处理数据库和服务器端逻辑PHP:处理数据库和服务器端逻辑Apr 15, 2025 am 12:15 AM

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

您如何防止PHP中的SQL注入? (准备的陈述,PDO)您如何防止PHP中的SQL注入? (准备的陈述,PDO)Apr 15, 2025 am 12:15 AM

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。

PHP和Python:代码示例和比较PHP和Python:代码示例和比较Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

PHP行动:现实世界中的示例和应用程序PHP行动:现实世界中的示例和应用程序Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP:轻松创建交互式Web内容PHP:轻松创建交互式Web内容Apr 14, 2025 am 12:15 AM

PHP可以轻松创建互动网页内容。1)通过嵌入HTML动态生成内容,根据用户输入或数据库数据实时展示。2)处理表单提交并生成动态输出,确保使用htmlspecialchars防XSS。3)结合MySQL创建用户注册系统,使用password_hash和预处理语句增强安全性。掌握这些技巧将提升Web开发效率。

PHP和Python:比较两种流行的编程语言PHP和Python:比较两种流行的编程语言Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP的持久相关性:它还活着吗?PHP的持久相关性:它还活着吗?Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。