0

したがって、基本的にディレクターを読み取り、それをリストに変換してdivに表示するこのphpスクリプトがあります。

<?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);
            }
        ?>

私が理解できないのは、次のスクリプトに変数を取得する方法です。次のページのURLに表示されていますが、スクリプトにそれを入れる方法がわかりません。

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

CANT GET THIS は、上記のスクリプトの非表示の入力フィールドから渡されたものである必要があります。URL からその値を取得する方法、または新しいスクリプトに渡す方法を教えてください。

私はこれが簡単な答えになることを知っています、そして私はそれのために壁に頭を打ちつけるつもりですが、私はここで完全に失われました! ありとあらゆる助けをいただければ幸いです。ここで get メソッドについて他にもいくつか質問があることは知っていますが、このようなものは見当たりませんでした。

編集:Errrr私は基本的に状況全体を複雑にしすぎて、必要以上に派手にしようとしました! 上記のコードを変更して、何が正しく機能しているかを反映させました! ほとんどの場合、#escaped_entry をフォームのアクション属性と非表示の入力名フィールドに入力しました...簡単に言えば、これですべてがうまくいきました!

4

2 に答える 2

1

「this」という単語を使用しないようにしてください。また、入力名にスペースを使用しないようにしてください。「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']; に保存されます。

ダミーの場合: URL の ? の後にあるものすべて (疑問符) "QUERY_STRING" と呼ばれ、$_SERVER['QUERY_STRING'] 経由でアクセスできます。これは、変数の $key=>$value ペアのシリアル化されたコレクションで、& (アンパサンド) で区切られ、配列として $_GET var に格納されます。 http://en.wikipedia.org/wiki/Query_string

于 2013-05-24T15:16:33.800 に答える