PHP - 将变量从一个PHP文件传递到另一个PHP文件

时间:2013-10-01 21:09:26

标签: php

我是PHP新手并尝试将变量从一个页面传递到另一个页面。最初,我有一个HTML页面,其中包含如下框架。

<!DOCTYPE html>
<html>

<frameset cols="70%,*">
  <frame src="index.php">
  <frame src="slider.php">
</frameset>
</html>

如上所示,我有2个PHP页面,我试图将 index.php 文件中的一些值发送到我的 slider.php 文件。我的 index.php 文件如下所示。

<?php
$names = file('demo.csv');
$page = $_GET['page'];
$pagedResults = new Paginated($names, 20, $page);
$handle = fopen('demo.csv', 'r');
  if (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
    {
    }
echo "<table border='3' bgcolor='#dceba9' style='float:center; margin:50'>";
echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
while ( $row = $pagedResults->fetchPagedRow())
{
    echo "<tr><td>";
    $row1 = str_replace( ',', "</td><td>", $row );
    echo $row1;
    echo "</td></tr>";
}
fclose($handle);
echo "</table>";
//important to set the strategy to be used before a call to fetchPagedNavigation
$pagedResults->setLayout(new DoubleBarLayout());
echo $pagedResults->fetchPagedNavigation();
?>
<form method="get" action="slider.php">
    <input type="hidden" name="totalcolumns" value="3">
    <input type="submit">
</form>

这是我的 slider.php 文件。

<?php 
      $totalcolumns = $_GET['totalcolumns'];
      echo "My next value should get printed";
      echo $totalcolumns;
?>

  <input type="text" data-slider="true" data-slider-range="100,500" data-slider-step="100">
</html>

如上所示,我正在尝试使用名称“ totalcolumns ”检索值。但是,我无法在 slider.php 文件中检索该值。我也尝试使用this链接中建议的 SESSION ,但没有运气。有人可以让我知道我做错了什么吗?

4 个答案:

答案 0 :(得分:3)

您应该可以使用$ _SESSION。这是:

$_SESSION['totalcolumns'] = $columns --> your value here in the first script

your value will be stored in the $columns variable in the second 
 $columns = $_SESSION['totalcolumns'] 

您还可以查看require或include功能。这些函数使一个文件依赖于另一个文件,就像您直接将一个文件粘贴到另一个文件上一样。 使用这些函数传递变量不是一个好习惯。你应该使用Session

http://php.net/manual/en/function.require.php

顺便说一下,不要使用framesets

答案 1 :(得分:1)

您应该使用sessions并且不应该使用html框架集或iframe,这是一种不好的做法。如果您不想通过任何更改重新加载整个页面,则应使用javascript。

答案 2 :(得分:1)

您可以使用$_REQUEST代替$_GET,也可以将其用作:

<?php
if(array_key_exists('totalcolumns', $_GET)) {
      $totalcolumns = $_GET['totalcolumns'];
      echo "My next value should get printed";
      echo $totalcolumns;
?>

这可以帮到你

答案 3 :(得分:1)

我首先识别帧,删除第二帧的src

<!DOCTYPE html>
<html>

<frameset cols="70%,*">
  <frame src="index.php" id="f1">
  <frame src="" id="f2">
</frameset>
</html>

然后更改index.php,在最后添加这段代码

<script>
parent.frames['f2'].location.href="slider.php?totalcolumns=3";
</script>

或者如果你的php中有totalcolumns

<script>
parent.frames['f2'].location.href="slider.php?totalcolumns=<?php echo $totalcolumns;?>";
</script>