无法通过$ _GET

时间:2013-05-24 14:10:42

标签: php get

所以我有这个PHP脚本,它基本上会读取导演并将其转换成一个列表供我显示在div中:

<?php
            foreach ($entries as $entry => $is_dir) {
            $class_name = $is_dir ? 'directory' : 'file';
            $escaped_entry = htmlspecialchars($entry);
            printf('<li class="%s"><form action="page.php" method="get"><input type="hidden" name="stuff" value="%s"><input type="submit" value="%s"></form></li>' . "\n", $class_name, $escaped_entry, $escaped_entry);
            }
        ?>

我无法弄清楚如何将变量放入下一个脚本中。它显示在下一页的网址中但是我无法弄清楚如何将其放入脚本中,这很简单:

<?php $page = $_GET["stuff"]; include $page; ?>

CANT GET这应该是从上面脚本的隐藏输入字段传递的任何内容。如何从URL获取该值或将其传递到新脚本?

我知道这将是一个简单的答案,我会在墙上击败我,但我完全迷失在这里!任何和所有的帮助将不胜感激!而且我知道这里有关于get方法的其他几个问题,但是我没有看到任何类似于这个的问题,或者我是愚蠢的。

编辑:错误我基本上整个情况过于复杂,并试图比所需要的更加花哨!我已经更改了上面的代码,以反映正确和有效的方法!在大多数情况下,我有#escaped_entry进入表单操作属性以及隐藏的输入名称字段...长话短说它现在好了!

2 个答案:

答案 0 :(得分:1)

<?php 
$page = basename($_GET["THIS"]);
include $page;

basename()必需,在处理变量时引号错误。

答案 1 :(得分:1)

尽量不要使用'this'这个词,也尽量不要在输入名称中使用空格。 '这'是php中的保留字。 您可以简化代码并制作如下代码:

 <?php
    foreach ($entries as $entry => $is_dir) {
       $class_name = $is_dir ? 'directory' : 'file';
       $escaped_entry = htmlspecialchars($entry);
       $url = 'http://domain.com/yourscriptname.php?Mydir='.$escaped_entry;
       printf('<li class="%s"><a href="%s">%s</a></li>', $class_name, $url,$escaped_entry);
    }
?>

然后在yourscriptname.php中,您的$ escaped_entry将存储在$ _GET ['Mydir']中;

对于假人: 您网址中的所有内容都包含在内? (问号),称为“QUERY_STRING”,可以通过$ _SERVER ['QUERY_STRING']访问。这是$ key =&gt; $ value变量对的序列化集合,由&amp;分隔。 (&符号)存储在$ _GET var中作为数组。 http://en.wikipedia.org/wiki/Query_string