繁体   English   中英

如何在不使用GET和POST方法以及不使用标头函数的情况下访问页面变量?

[英]how to access the variable to the page without using GET and POST methods and without using header function?

以下是我要访问第二个文件中的$name变量的两个文件first.phpsecond.php 我使用了global,但是它只是访问文件中的值。 我不想使用POSTGET方法,因为我已经使用POST来重定向到home.php

first.php
 <?php
 $name = 'New York';
 ?>

  second.php
 <?php
  // Access variable here from the above first.php file 
 ?>

包括

first.php

$name = "New York";

second.php

include "path/to/first.php";
echo $name; //echo "New York"

这是PHP手册:Include


SESSIONS

如果您不想从second.php上的first.php中获取所有内容,则应使用会话。

first.php

session_start(); //start sessions, so you can use session variables
$_SESSION['name'] = "New York"; //set session variable called "name" to "New York"

second.php

session_start(); //start session so you can use session variables
echo $_SESSION['name']; //echo "New York"

会话变量的工作原理与常规变量基本相同,但是您可以像访问数组一样访问它们。 您必须在每个页面上启动会话才能访问它们。 我通常只是在头文件中开始会话,因此它总是包含在内。

有关PHP会话的更多信息


饼干

您也可以使用cookie,尽管在大多数情况下我建议使用SESSIONS。 当该变量需要在多个登录会话中持续很长时间或非常长时间时,Cookie非常有用,我通常将其用于用户设置应用程序中的主题以及此类内容不会经常更改。

first.php

$name = "New York"; //set variable
setcookie("name", $name, time() + (86400 * 30), '/'); //set cookie that expires in 1 day

seconds.php

echo $_COOKIE['name']; //echo New York

有关Cookie的更多信息

尝试使用$ _SESSION变量。

<?php //first.php
session_start();
$_SESSION['name'] = 'New York';
?>
<?php //second.php
session_start();
echo $_SESSION['name'];
?>

到目前为止,最好和安全的方法是使用include_once() 如果要包含许多文件,则可以使用__autoload() (如果它是面向对象的方法)

检查文件

$_REQUEST['var'];

这与发布和获取都适应。 不会告诉您您正在使用什么。 或带有include 'file.php'或带有setcookie('name', 'value'); $_COOKIE['name']; setcookie('name', 'value'); $_COOKIE['name']; 或带有会话存储

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM