如何在PHP脚本之间传递变量?

| 有什么方法可以在php脚本之间传递值和变量? 正式地,我尝试对登录页面进行编码,当用户首先输入错误的输入时,另一个脚本将检查输入,如果输入错误,站点将返回到最后一个脚本页面,并显示警告,例如“输入错误”。为此,我需要传递我猜想的脚本中的值。 关于...:P     
已邀请:
通过GET传递信息:
    header(\'Location: otherScript.php?var1=val1&var2=val2\');
会议:
    // first script
    session_start(); 
    $_SESSION[\'varName\'] = \'varVal\';
    header(\'Location: second_script.php\'); // go to other

    // second script
    session_start(); 
    $myVar = $_SESSION[\'varName\'];
帖子:看看这个。     
您不能
include
(或
include_once
require
)另一个脚本吗?     
您应该查看会话变量。这涉及到在服务器上存储链接到特定参考号(“会话ID”)的数据,然后浏览器根据每个请求(通常以cookie的形式)发送该数据。服务器可以看到同一用户正在访问该页面,并设置了“ 5”超全局变量来反映这一点。 例如: a.php     
session_start(); // must be called before data is sent

$_SESSION[\'error_msg\'] = \'Invalid input\';

// redirect to b.php
b.php
<?php

session_start();

echo $_SESSION[\'error_msg\']; // outputs \"Invalid input\"
    
快速的方法是使用全局变量或会话变量。
global $variable = \'something\';
更好的方式是包括脚本并按参数传递变量,例如
// script1.php contains function \'add3\'
function add3( $value ) {
  return $value + 3;
}

// script2.php
include \"script1.php\";
echo \'Value is \'.add3(2); // Value is 5
    
我想说,如果您确实需要,您还可以在缓存中存储一​​个变量。     
您可以使用: 临时文件(例如
tempnam()
), 缓存(NoSQL:
memcached
redis
), 会话变量(
$_SESSION
),但您需要先启动会话。     
我使用
extract()
方法在PHP脚本之间传递变量。看起来像下面的例子: 1.文件index.php
<?php
$data = [
    \'title\'=>\'hello\',
    \'content\'=>\'hello world\'
];
extract($data);
require \'content.php\';
2.文件content.php:
<?php 
echo $title;
echo $content;
    

要回复问题请先登录注册