【问题标题】:Exchanging variables between two pages PHP在两个页面 PHP 之间交换变量
【发布时间】:2015-06-12 21:04:04
【问题描述】:

我知道这种问题之前已经被问过,但我的情况略有不同。

foreach($dir as $file) 
{ 
    $file = '<li><a href="test.php?file='.basename($file).'">'.basename($file).'</a></li>';
    echo $file; 
} 

这是我的脚本,用于显示文件夹中的文件并链接到它们。现在的样子,我用另一页的$_GET['file']来接收另一页的信息。另一个页面应该显示带有已链接文件的照片/视频,但是在这种情况下我不知道如何使用 $_POST$_SESSION,因为它是一个循环,我不想要有关文件的信息在链接中。

另外,我不想要任何表格。我想单击带有文件名的链接和其他网站以获取有关文件的信息并显示视频或图像。

【问题讨论】:

  • 澄清一下:这里为什么需要$_POST$_SESSION?您在链接中看不到文件的哪些信息?
  • 基本上$_SESSSION['file']=basename($file);
  • 您好,我不希望文件名出现在链接中,因为如果有人知道直接链接,他将能够访问该文件。我不想那样。

标签: php session post get


【解决方案1】:

这样使用,在session中存储媒体路径,使用对应的索引来传递。

第一个文件:

<?php
$i = 1;
session_start();
$dir = array('1.jpg', '2.jpg', '3.jpg');
echo '<ul>';
foreach($dir as $file) 
{ //echo $i.'---'.$file."<br />";
    echo '<li><a href="test.php?file='. $i .'">'.$file.'</a></li>';
    $_SESSION['media_'.$i] = $file;
    $i++;
} 
echo '</ul>';
?>

test.php

<?php
session_start();
echo $_SESSION['media_'.$_GET['file']];
?>

【讨论】:

  • 你好,出于某种原因,这段代码将每个链接映射到一个文件,我不明白为什么。
  • 确定 $dir 包含不同的文件名吗?
  • 是的,每个文件的名称都不同。
  • 您可以尝试在那里打印会话。检查结果如何?
  • 是的,我做到了。会话打印所有链接映射到的文件的名称。
猜你喜欢
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
相关资源
最近更新 更多