Apakah tatasusunan global dalam php

青灯夜游
Lepaskan: 2023-03-16 07:34:02
asal
2376 orang telah melayarinya

Terdapat 9 tatasusunan global PHP: 1. "$GLOBALS", yang merupakan tatasusunan yang terdiri daripada semua pembolehubah global yang ditentukan 2. "$_SERVER", yang mengandungi maklumat pengepala, laluan dan lokasi skrip; 3. "$_COOKIE", tatasusunan yang terdiri daripada data sesi 4. "$_GET" 5. "$_ENV", dsb.

Apakah tatasusunan global dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

php global tatasusunan

Nama penuh tatasusunan global php ialah "tatasusunan super global" atau "pembolehubah super global". Ia dipanggil tatasusunan super global kerana tatasusunan ini terdapat dalam skrip Ia boleh diakses di mana-mana dan dalam mana-mana skop, seperti fungsi, kelas, fail, dll.

Pembolehubah tatasusunan superglobal ialah pembolehubah terbina dalam yang sentiasa tersedia dalam semua skop.

Susun atur superglobal dalam PHP termasuk 9 berikut:

  • $GLOBALS: Mengandungi rujukan kepada skop pembolehubah global setiap skrip semasa Sah pembolehubah dalam. Nama utama tatasusunan ini ialah nama pembolehubah global.

  • $_SERVER: Paparkan atau dapatkan maklumat yang berkaitan dengan pelayan, ini ialah; kaedah Mesti lulus dalam kaedah $_GET;

  • $_POST: Data yang dihantar melalui borang mestilah kaedah POST; : Mengandungi dua kaedah pemindahan data A di atas (POST dan GET); _SESSION: mengendalikan Data sesi sebelah pelayan;

  • $_FILES: tatasusunan diperlukan untuk memuat naik fail; oleh persekitaran pelaksanaan

  • $_GET
  • Prinsip
  • Kegunaan 1: Penyemak imbas menghantar maklumat ke pelayan melalui hiperpautan (lalai ialah GET)

Nota: IE5.5 dan IE6 mempunyai masalah dengan nombor ganjil Cina dan aksara bercelaru Bagaimana untuk menyelesaikannya? urlencode dan urldecode.

Kegunaan 2: Penyemak imbas menghantar maklumat kepada pelayan melalui borang (sebaik-baiknya menggunakan $_POST)


  • Apakah tatasusunan global dalam phpLumpuhkan register_globals: set register_globals=off;
  • Dayakan register_globals Jika anda memasukkan http://localhost:88/1.php?a=10&b=20; kod, anda akan mendapat 10 20 .

<meta>


//注意:信息如何传递!!!
<a>数据</a>

Salin selepas log masuk

<meta>


<?php echo "<pre class="brush:php;toolbar:false">";
 	echo print_r($_GET);
	echo "
Salin selepas log masuk
Salin selepas log masuk
"; echo $_GET['name']; ?>
  • $_POST

<meta>


<?php $city=urlencode("大西安");
	echo "<a href=&#39;1.php?city={$city}&name=tan&#39;>数据";
?>

Salin selepas log masuk

<meta>


<?php echo "<pre class="brush:php;toolbar:false">";
 	echo print_r($_GET);
	echo "
Salin selepas log masuk
Salin selepas log masuk
"; echo urldecode($_GET['city']); ?>
    Data yang diserahkan melalui pos akan dirangkumkan dalam superglobal $_POST dalam tatasusunan .
  • Kegunaan 1: Penyemak imbas menghantar maklumat ke pelayan melalui borang (sesetengah data mesti menggunakan kaedah siaran)

<meta>


Salin selepas log masuk
Salin selepas log masuk
输入内容:

<meta>




Salin selepas log masuk
  • POST kaedah dan GET Perbezaan dalam kaedah

<meta>




Salin selepas log masuk
Kaedah POST mempunyai keselamatan yang baik

Saiz penghantaran data (kaedah POST besar)Simpan ke kegemaran (kaedah GET)

  • $_REQUEST

<meta>


Salin selepas log masuk
Salin selepas log masuk
用户名:
密码:
性别:
籍贯:
爱好:唱歌 跳舞 LOL
个人简介:
文件上传:

<meta>


"; 
	//如何接收checkbox的所有数据(注意中括号[]):唱歌
	echo print_r($_POST);
	echo "
Salin selepas log masuk
"; $hobbies=$_POST['hobby']; foreach($hobbies as $key=>$val){ echo "
".$key." ".$val; } ?>
    $_REQUEST ialah tatasusunan yang mengandungi $_POST, $_GET dan $_COOKIE struktur adalah sama seperti $_POST serupa dengan $_GET.
  • Maksudnya, sama ada data dihantar menggunakan POST atau GET, anda boleh menggunakan $_REQUEST untuk mendapatkannya, malah anda boleh menggunakan $_REQUEST untuk mendapatkan maklumat COOKIE. Atribut request_order telah diperkenalkan dalam PHP5.3 Kami boleh mengawal kandungan yang terkandung dalam $_REQUEST dengan mengubah suai nilai atribut request_order dalam fail konfigurasi php.ini.

      Nilai atribut request_order boleh terdiri daripada tiga huruf besar Inggeris G, P dan C, yang mewakili GET, POST dan COOKIE masing-masing. Secara lalai, nilai lalai atribut request_order ialah request_order="GP", yang tidak termasuk C, yang bermaksud bahawa $_REQUEST tidak mengandungi maklumat COOKIE Jika kami mahu $_REQUEST mengandungi COOKIE, kami perlu mengubahnya kepada request_order = "GPC".
    • Nota:
    • Jangan gunakan $_REQUEST terlalu kerap (kerana mencampurkan berbilang mesej).
Bezakan antara GET dan POST melalui $_SERVER['REQUEST_METHOD']

$_SERVER

$_SERVER ialah tatasusunan yang mengandungi maklumat seperti maklumat pengepala, laluan dan lokasi skrip. Entiti tatasusunan dicipta oleh pelayan web, dan tidak ada jaminan bahawa semua pelayan boleh menjana semua maklumat Pelayan mungkin mengabaikan beberapa maklumat, atau menjana beberapa maklumat baharu yang lain. Seperti tatasusunan superglobal yang lain, ini ialah pembolehubah global automatik yang tersedia dalam semua skrip. Tidak perlu menggunakan kata kunci global untuk mengaksesnya dalam fungsi atau kaedah objek.

$_ENV

获取服务器端的环境变量,通过修改php.ini的variables_order="EGPCS"启动。

$_ENV数组中的内容是在PHP解析器运行时,从PHP所在服务器中的环境变量转变为PHP全局变量的。它们中许多都是由PHP所运行的系统决定的,完整的列表是不可能的,需要查看PHP所在服务器的系统文档以确定其特定的环境变量。

$GLOBALS

$GLOBALS是由所有已定义的全局变量组成的数组,变量名就是该数组的索引。

  • 包含了全部变量的全局组合数组。

  • 当定义一个全局变量,也会被$GLOBALS管理。

<meta>


";
	print_r($GLOBALS);
	echo "
Salin selepas log masuk
"; ?>

Apakah tatasusunan global dalam php

$_FILES

使用表单的file输入域上传文件时,必须使用post提交。但在服务器文件中,并不能通过$_POST超全局数组获取到表单中file域的内容。而$_FILES超全局变量是通过post方法传递的已上传文件项目组成的数组。$_FILES是一个二维数组,包含5个子数组元素,其中第一个下标是表单中file输入域的名称,第二个下标用于描述上传文件的属性。

$_COOKIE

$_COOKIE超全局数组是经由HTTP Cookies方法提交至脚本的变量。通常这些Cookies是由以前执行的PHP脚本通过setCookies()函数设置到客户端浏览器中的,当PHP脚本从客户浏览器提取了一个cookie后,它将自动把它转换成一个变量,可以通过这个$_COOKIE超全局数组和cookie的名称来存取指定的cookie值。

$_SESSION

会话控制是在服务器端使用session跟踪用户,当服务器页面中使用session_start()函数开启session后,就可以使用$_SESSION数组注册全局变量,用户就可以在整个网站中访问这些会员信息。

说明:$_COOKIE、$_SESSION、$_REQUEST的区别

在 PHP 中,cookie 就是服务器,它是留在客户端(浏览器)上的一个小的数据文件,通常用于标识用户信息,也称为浏览器缓存或 Cookies。

$_COOKIE[] 全局数组存储了通过 HTTP COOKIE 传递到脚本的信息,PHP 可通过 setcookie() 函数设置 COOKIE 的值,用 $_COOKIE[] 数组接收 COOKIE 的值,$_COOKIE[] 数组的索引为 COOKIE 的名称。

session 是一种客户与网站(服务器)更为安全的对话方式,一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。但是 session 不同于 cookie,必须先启动,才能生效。

$_SESSION[] 数组用于获取会话变量的相关信息。

$_REQUEST 支持 $_GET 和 $_POST 发送过来的请求,即 get 和 post 它都可以接受,浏览器地址栏中的数据显示不显示要看传递的方法,get 会显示在 url 中(有字符限制),post 不会显示在 url 中,可以传递任意多的数据(只要服务器支持)。

默认情况下,$_REQUEST[] 数组包含了 $_GET、$_POST 和 $_COOKIE 的数组。

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Apakah tatasusunan global dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!