【发布时间】:2013-10-01 21:09:25
【问题描述】:
我是 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 ,但没有运气。有人可以告诉我做错了什么吗?
【问题讨论】:
-
一个与安全相关的方面:您应该在输出时转义 GET 变量 totalcolumns:
echo htmlspecialchars($totalcolumns); -
我猜你的问题是你不确定哪个是第一个调用
-
你可能想避免一起使用框架,因为 PHP + JavaScript 组合非常有能力以一种可访问的方式替换它们。顺便说一句:P
-
@Gar,我认为这可能是问题所在。你知道我该如何解决这个问题吗?谢谢!
-
主要问题是框架。时期。世界已经在前进。使用 ajax 和适当的回调很容易解决您的问题。
标签: php