PHP自动生成新页面

时间:2012-12-29 12:09:15

标签: php html dynamic

我正在建立一个社交网络类型的网站,用户可以上传他们要评分的项目。但是,我正在尝试改进网站的布局方式,因此想要在用户插入新项目后自动生成页面。 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>

提交表单后,我希望它为该新用户创建的项目生成新页面。有这么简单的方法吗?

干杯

5 个答案:

答案 0 :(得分:7)

您不必为每个项目实际“创建”新的html页面。

您可以将此信息保存到数据库(例如,mysql)。

然后你可以创建另一个php文件,比如'item.php'并从mysql数据库访问不同的条目,如下所示:

item.php?ID = 1

答案 1 :(得分:3)

这通常不是创建此类网站的方式。 (即:您不会在表单提交时自行生成物理页面。)相反,您通常将表单数据存储在数据库中,然后根据URL检索/显示它 - 通过解码URL本身通过“控制器”或使用查询字符串变量,如?producerid=x。然后,此数据将用于填充模板。

老实说,我真的建议掌握最近的一本PHP书(就数据库访问而言,你应该使用PDO或MySQLi)或者遵循一些在线教程 - 虽然它最初看起来像是赢了这不是一种有意义的进步形式,从长远来看可能会带来可观的回报。

答案 2 :(得分:2)

通常没有像这样的新页面生成。您应该创建一个模板并从其他来源(例如XML文件或数据库)加载动态信息,以便它看起来像一个全新的页面。

只需:

  1. 查看每个项目页面的共同点
  2. 定义包含公共代码的模板
  3. 从数据库中检索动态信息(例如项目信息)
  4. 使用HTML中嵌入的PHP加载动态HTML
  5. 一个例子:

    Facebook不会为每个用户注册创建新页面。有一个HTML模板,它定义了个人资料照片的位置,帖子的位置和风格,朋友列表的位置和风格以及任何个人资料页面常见的内容,然后只需在调用此类页面时加载不同的信息马克,弗兰克,杰夫等等。

答案 3 :(得分:2)

最好和最有效的方法是将数据存储在数据库中,并在用户点击特定项目时检索它。但有一点,如果您的计划的一部分是通过谷歌搜索引擎访问您的网站,您必须生成单独的网页...因为,谷歌只是一个网络爬虫......它无法进入mysql或其他数据库

答案 4 :(得分:-1)

我同意我在这里得到的答案

请注意,如果您不小心,您的网站将开放用于跨站点脚本编写