-1

うーん...htmlページを作るスクリプトの作り方が知りたいです。そのため、スクリプトが実行されると、新しいページが作成されます。次のようなもの: mydomain.com/test.html 。スクリプトは test.html ページを作成するはずです!

これが私の仕事です:

<form action="index.php" method="post">
<input type="text" name="nick" value="Enter NIck" />
<input type="submit" value="Create" />
</form>

<?php

$nick=$_POST['nick'];      // get the users input

$fh=fopen('$nick' , 'W')    // Create the page
$contents= include 'sys.php';
fwrite($fh, $contents);
fclose($fh);

echo "Redridectring to your page....";

header('Location: $nick');

?>

さて、このコードがすべきことは、$nick と呼ばれるページを作成することです。したがって、入力が「bleugh」の場合、$nick は $nick="bleugh" になります。次に、ページ「bleugh」を作成し、sys.php をインクルードしてから、ページにヘッダーを追加します。これはライトですか?それはうまくいきますか?

4

3 に答える 3

0

一重引用符内で PHP 変数を使用することはできません

大丈夫です:

"{$nick}"

動作しません:

'$nick'

しかし、「$contents= include 'sys.php';」で何をしようとしているのかわかりませんか? おそらく、sys.php の出力を文字列に取り込みたいと思いませんか? いずれにせよ、自分自身を開いている脆弱性には注意する必要があります。

于 2012-07-25T09:39:31.093 に答える
0

ファイルを作成してからファイルにリダイレクトする方法は、基本的には問題ないと思います。追加コメント:

  1. 書き込むフォルダーへの書き込み権限が PHP プロセスにあることを確認します。
  2. 本当にsys.phpを含める必要がありますか? 本当に HTML ファイルを作成したい場合は、適切な html タグを $contents に書き込む必要があります。
  3. 文字を出力する前にリダイレクトを実行する必要があります。これにより、エコー操作が先行するため、リダイレクトが機能しなくなります。
于 2012-07-25T09:46:13.273 に答える
0

これを試して

 header('Location: '.$nick.'');
于 2012-07-25T09:46:39.733 に答える