我正在建立一个社交网络类型的网站,用户可以上传他们要评分的项目。但是,我正在尝试改进网站的布局方式,因此想要在用户插入新项目后自动生成页面。 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>
提交表单后,我希望它为该新用户创建的项目生成新页面。有这么简单的方法吗?
干杯
答案 0 :(得分:7)
您不必为每个项目实际“创建”新的html页面。
您可以将此信息保存到数据库(例如,mysql)。
然后你可以创建另一个php文件,比如'item.php'并从mysql数据库访问不同的条目,如下所示:
item.php?ID = 1
答案 1 :(得分:3)
这通常不是创建此类网站的方式。 (即:您不会在表单提交时自行生成物理页面。)相反,您通常将表单数据存储在数据库中,然后根据URL检索/显示它 - 通过解码URL本身通过“控制器”或使用查询字符串变量,如?producerid=x
。然后,此数据将用于填充模板。
老实说,我真的建议掌握最近的一本PHP书(就数据库访问而言,你应该使用PDO或MySQLi)或者遵循一些在线教程 - 虽然它最初看起来像是赢了这不是一种有意义的进步形式,从长远来看可能会带来可观的回报。
答案 2 :(得分:2)
通常没有像这样的新页面生成。您应该创建一个模板并从其他来源(例如XML文件或数据库)加载动态信息,以便它看起来像一个全新的页面。
只需:
一个例子:
Facebook不会为每个用户注册创建新页面。有一个HTML模板,它定义了个人资料照片的位置,帖子的位置和风格,朋友列表的位置和风格以及任何个人资料页面常见的内容,然后只需在调用此类页面时加载不同的信息马克,弗兰克,杰夫等等。
答案 3 :(得分:2)
最好和最有效的方法是将数据存储在数据库中,并在用户点击特定项目时检索它。但有一点,如果您的计划的一部分是通过谷歌搜索引擎访问您的网站,您必须生成单独的网页...因为,谷歌只是一个网络爬虫......它无法进入mysql或其他数据库
答案 4 :(得分:-1)
我同意我在这里得到的答案
请注意,如果您不小心,您的网站将开放用于跨站点脚本编写