我想在页面中显示session
页面(post
)的所有get
,php
,.php
信息。我怎么能这样做?
答案 0 :(得分:3)
<?php print_r($_SESSION); ?>
<?php print_r($_POST); ?>
<?php print_r($_GET); ?>
答案 1 :(得分:2)
使用以下代码print
/ var_dump
信息
会议在
之下<?php var_dump($_SESSION); ?>
对于Post is Below
<?php var_dump($_POST); ?>
获取下方
<?php var_dump($_GET); ?>
答案 2 :(得分:2)
好的,每个人都说明显了,但他们没有提到每个解决方案中嵌入的安全风险。
我不同意,这是我的选择:
echo "<pre>";
echo htmlspecialchars(var_export($_POST, true), ENT_QUOTES);
echo htmlspecialchars(var_export($_GET, true), ENT_QUOTES);
echo htmlspecialchars(var_export($_SESSION, true), ENT_QUOTES);
echo "</pre>";
您可能不会考虑攻击者将恶意代码放入您的会话中,但您永远不会知道。
说不同:
header("Content-type: text/plain");
var_export($_POST);
var_export($_GET);
var_export($_SESSION);
同样会运作良好,但要注意浏览器试图嗅探内容。
另一种很好地打印三分之二的方法:
phpinfo(INFO_VARIABLES);
最后:尝试<plaintext>
标记。由于显而易见的原因,它没有结束标记,因为它将在浏览器中结束对HTML的解释,但在发送之后,您只需要关心打印纯文本。
echo "<plaintext>";
var_export($_POST);
var_export($_GET);
var_export($_SESSION);
var_export
具有高于var_dump
和print_r
的优势:它打印能够重新创建变量的有效PHP代码。除了对象之外,任何类型都是100%。对象必须实现魔术静态方法__set_state
才能重新创建。
答案 3 :(得分:1)
试试这个:
foreach ($_POST as $key => $value) {
$postData = "POST Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
foreach ($_GET as $key => $value) {
$postData = "GET Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
foreach ($_SESSION as $key => $value) {
$postData = "SESSION Field " . htmlspecialchars($key) . " is " . htmlspecialchars($value) . "<br>";
}
答案 4 :(得分:1)
我更喜欢var_dump()而不是print_r(),因为它也处理对象。
我还想在转储周围输出<pre>
标签,因此在浏览器中更容易阅读,所以
echo "<pre>";
var_dump($_SESSION);
var_dump($_POST);
var_dump($_GET);
echo "</pre>";