基本的なhtml/javascriptフォームを使用してデータを入力し、送信ボタンをクリックすると、Webサーバー上に新しいhtmlドキュメントが作成されるかどうかを知りたいです。初期フォームの内容は、作成時に新しいhtmlページに追加されるデータを決定するために使用されます。おそらくPHP/MySQLを使用しています。ありがとう。
3 に答える
JavaScript はサーバーではなくクライアントで実行されるため、ファイルを直接作成することはできません。これは、フォームを処理するサーバー上で PHP スクリプトを使用して実行されます。フォーム データに基づいてページを表示するのと非常に似ていますが、代わりにファイルに書き込みます。
$f = fopen($filename, 'w') or die "Can't create file $filename";
fprintf($f, "<html>\n<body>\n");
// and so on
fprintf($f, "</body>\n</html>\n");
fclose($f);
これを行うことはできますが、このようなものをサイトに配置しないことを強くお勧めします. このようなツールを使用すると、攻撃者は任意のタイプのコードをサイトに簡単に配置できます。このようなツールを作成すると、Web サーバーを使用してディレクトリをパスワードで保護したり、何らかの認証システムを作成したりできます。データベースを使用してページを編集できるようにしたい場合は、すでに多くのコンテンツ管理システムでこれを行うことができます。Drupal または Wordpress は、開始するのに適した 2 つの場所です。
サーバー上に html ページ全体を作成する必要は実際にはありません。はるかに良い方法は、フォームのデータを実際にデータベースに保存することです。データを表示する必要がある場合は、テンプレートに入力して提供するだけです。これにより、作成されたファイルではなくテンプレートのみを変更する必要があるため、これらすべてのページの管理がはるかに簡単になります。
たとえば、フォームに名、姓、およびコメント フィールドがあるとします。あなたはおそらく保管するでしょう。
{ firstName: 'John', lastName: 'Doe', comment: 'This was good' }
{ firstName: 'Jane', lastName: 'Doe', comment: 'This was bad' }
template.html
そして、おそらく次のようにサーバー上にあるでしょう:
<html>
<head><title>View Comment</title></head>
<body>
Name: {{lastName}}, {{firstName}}
Comment: {{comment}}
</body>
</html>
これはMustache.js固有の構文を使用しますが、好きなものを選択できます。リクエストが行われたら、プレースホルダーにデータを入力するだけです。動的な html ページ。