Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP自动生成新页面_Php_Html_Dynamic - Fatal编程技术网

PHP自动生成新页面

PHP自动生成新页面,php,html,dynamic,Php,Html,Dynamic,我正在制作一个社交网络类型的网站,用户可以上传他们的物品进行评级。但是,我正在努力改进网站的布局方式,因此希望在用户插入新项目后自动生成页面。add.php页面的格式如下: <form action="add.php" method="post" autocomplete="on" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" metho

我正在制作一个社交网络类型的网站,用户可以上传他们的物品进行评级。但是,我正在努力改进网站的布局方式,因此希望在用户插入新项目后自动生成页面。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>

通常不会为类似的事情生成新的页面。您应该创建一个模板,并将来自其他来源(如XML文件或数据库)的动态信息加载到该模板中,使其看起来像一个全新的页面

只是:

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


    Facebook不会为每个用户注册创建新页面。有一个HTML模板,它定义了个人资料照片的位置、帖子的位置和样式、好友列表的位置和样式以及任何个人资料页面的常见内容,然后当你为Mark、Frank调用这样一个页面时,只需加载不同的信息,Jeff等人。

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


    老实说,我真的建议你读一本最近出版的PHP书籍(就数据库访问而言,你应该使用PDO或MySQLi)或者学习一些在线教程——虽然一开始看起来这并不是一种有意义的进步,从长远来看,它可能会带来可观的回报。

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

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

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


    item.php?id=1

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

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


    请注意,如果您不小心,您的站点将对跨站点脚本打开

    您尝试了什么?是否要创建新文件?或者数据库条目呢?好的,我的数据库中的每个条目都会生成一个ID,我已经创建了一个item.php页面。然后,如何将该id与页面关联?这些项目列在一个页面中,然后我希望能够单击其中一个,它将加载新页面,并带有相关id的项目。是否有在线教程可供我查看您知道吗?谢谢在线上有很多教程,你可以在谷歌上搜索“php mysql初学者版”,但正如middaparka所建议的,我郑重建议你投资一些书。这样你就可以通过在这里提问更快地学习:)很多网站都在使用这种技术。然后你可以根据id变量显示。因此页面非常相似(例如,相同的布局),但内容不同。这是7年前提出的