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)。

然后你可以创建另一个 php 文件,比如“item.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 回答
2

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

于 2016-04-24T22:54:58.197 回答