6

ユーザーがアイテムをアップロードして評価できるソーシャルネットワークタイプのサイトを作成しています。ただし、サイトのレイアウト方法を改善しようとしているので、ユーザーが新しいアイテムを挿入すると、ページを自動的に生成したいと考えています。add.php ページの形式は次のとおりです。

<form action="add.php"  method="post"  autocomplete="on" enctype="multipart/form-data" action="<?php echo                  $_SERVER['PHP_SELF']; ?>" method="POST" id="pic">
    <p> <label for="jname" class="iconic user"> Name of Jam <span class="required">*</span></label> <input type="text" name="jname" id="jname" value="<?php if (isset($_POST['jname'])) echo $_POST['jname']; ?>" required="required" placeholder="Input your Name of Jam here"  /> </p>

    <p> <select name="jtype" id="jtype" value="<?php if (isset($_POST['jtype'])) echo $_POST['jtype']; ?>" required="required">
            <option value="jam">Jam</option>
            <option value="jelly">Jelly</option>
            <option value="marmalade">Marmalade</option>
            <option value="preserve">Preserve</option>
        </select> </p>

    <p> <label for="producer" class="iconic user"> Jam Producer <span class="required">*</span></label>     <input type="text" name="producer" id="producer" value="<?php if (isset($_POST['producer'])) echo $_POST['producer']; ?>" required="required" placeholder="Input the producer of the Jam here"  /> </p>
    Upload a picture of your jam: </br> </br> <input name="userfile" type="file" /> </br>
    <input type="submit" name="submit" value="Register" />    
    <input type="hidden" name="submitted" value="TRUE" />

</form>

フォームが送信されると、その新しいユーザー作成アイテムの新しいページを生成する必要があります。これを行うかなり簡単な方法はありますか?

乾杯

4

4 に答える 4

7

アイテムごとに新しい html ページを実際に「作成」する必要はありません。

この情報をデータベース (mysql など) に保存できます。

次に、「item.php」などの別の php ファイルを作成し、次のように mysql データベースから別のエントリにアクセスできます。

item.php?id=1

于 2012-12-29T12:21:58.567 に答える
3

これは通常、そのようなサイトが作成される方法ではありません。(つまり、フォーム送信の時点で物理ページ自体を生成しません。)代わりに、通常はフォーム データをデータベースに保存し、URL に基づいて取得/表示します。URL 自体をデコードします。 「コントローラー」を介して、または などのクエリ文字列変数を使用して?producerid=x。このデータは、テンプレートの作成に使用されます。

正直なところ、最近の PHP の本 (データベース アクセスに関する限り、PDO または MySQLi を使用する必要があります) を入手するか、いくつかのオンライン チュートリアルに従うことを強くお勧めします。有意義な進歩の形であり、長期的にはかなりの利益をもたらす可能性があります。

于 2012-12-29T12:20:37.123 に答える
2

通常、そのようなもののための新しいページ生成はありません。テンプレートを作成し、他のソース(XMLファイルやデータベースなど)から動的な情報をロードして、完全に新しいページのように見せかける必要があります。

ただ:

  1. 各アイテムページの共通点を確認する
  2. 共通コードを含むテンプレートを定義する
  3. データベースから動的情報(たとえば、アイテム情報)を取得します
  4. HTMLに埋め込まれたPHPを使用してダイナミックHTMLをロードする

例:

Facebookは、ユーザー登録ごとに新しいページを作成しません。プロフィール写真の位置、投稿の位置とスタイル、友達リストの位置とスタイルなど、プロフィールページに共通するものを定義するHTMLテンプレートがあり、そのようなページを呼び出すと、さまざまな情報が読み込まれます。マーク、フランク、ジェフなど。

于 2012-12-29T12:14:25.693 に答える