Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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_Mysql - Fatal编程技术网

关于php页面创建的问题

关于php页面创建的问题,php,mysql,Php,Mysql,我想创建一个简单的网站与注册和用户档案。 现在,我真的不知道有没有一种方法可以让用户在点击新帖子之类的东西时创建一个新页面。 如果我没有错的话,Stackoverflow正在使用类似的东西,所以我想有人向我介绍一下这是如何做到的 顺便说一句,我在PHP+MySQL下工作,我想您正在寻找一个包含db内容的模板页面 例如,stackoverflow将页面结构/模板保留在服务器文件系统的某个位置。添加的每个新页面实际上只是几个数据库条目。当有人点击一个页面时,他们会得到一个模板,其中填充了一个查询的结

我想创建一个简单的网站与注册和用户档案。 现在,我真的不知道有没有一种方法可以让用户在点击新帖子之类的东西时创建一个新页面。 如果我没有错的话,Stackoverflow正在使用类似的东西,所以我想有人向我介绍一下这是如何做到的


顺便说一句,我在PHP+MySQL下工作,我想您正在寻找一个包含db内容的模板页面

例如,stackoverflow将页面结构/模板保留在服务器文件系统的某个位置。添加的每个新页面实际上只是几个数据库条目。当有人点击一个页面时,他们会得到一个模板,其中填充了一个查询的结果,比如“select*frompagewhereid=[id]”


顺便说一句,我假设这就是stackoverflow的工作原理,我想理论上他们可以为每个问题创建一个新的物理页面…

传统方式:

  • 创建一个新的PHP页面,使用
    按钮和几个其他
    字段输出一个
  • 当用户单击按钮时,字段中的数据将发布到表单中。在PHP脚本开始时,使用
    $\u GET[]
    $POST[]
    数组检索此数据
  • 使用将数据保存在数据库的表中,然后在同一个或另一个PHP页面中检索数据
这种方法的缺点是,每当单击按钮时,页面都必须刷新。因此,现在很多网站都使用AJAX方式:

  • 创建一个带有link元素的HTML页面,该元素只会触发一个JavaScript函数,例如
  • 在JavaScript函数中,从中检索数据并将其发布到单独的后端PHP脚本,例如“savedata.PHP”
  • 重复上面的最后两个步骤(用PHP检索数据,保存在MySQL中)
  • 当您以后需要数据时,请遵循相反的方式,例如,使用JavaScript访问“getdata.php”之类的内容,它以或的格式检索您的数据,然后解析该数据并在DOM中的元素上显示数据

在后一种情况下,我喜欢使用jQuery,因为它节省了Javascript方面的大量工作。

欢迎来到使用web应用程序的漫长旅程。对于您提供的信息,最好的做法是开始学习PHP编程的现实目标(因为这是您表示感兴趣的语言),并从一开始就理解这将需要花费大量的时间和精力才能有效地学习和完成

但要对动态站点的构成进行基本概述:

动态网站(在较小的上下文中)和web应用程序(在较大的上下文中)依赖于某种持久层(通常是MySql之类的数据库)来存储数据和用户输入,因为基本HTTP环境是无状态的,并且不提供任何关于记住和维护用户内容的规定

因此,某种类型的“显示层”提供了一个表单,用于收集用户输入,无论是登录、编辑页面、撰写博客文章等。该表单通过HTTP发送到“程序层”,该程序层对输入进行清理和保护,并将其保存到数据库或平面文件中。在检索时,程序层还负责使用任何一组程序指定的标识符(在数据库中,这些标识符通常采用主键的形式)从其存储器中调用此数据

大多数这类应用程序将使用某种框架构建,该框架遵循一种著名的编程结构。web应用最常见的一种称为This,是因为这种架构将这些层分离的方式非常类似于web环境中典型用户请求的流程(视图-用户界面、控制器-程序层、模型-链接到数据库以实现其属性的数据的编程表示)


请记住,这只是一个总结中的理论。您很可能会开始编写简单的程序(从上到下的脚本)程序,在增加PHP的词汇量时运行基本命令。如果您对学习这门课程非常感兴趣,并将其作为一项可能的职业或一项强烈的爱好,我建议您搜索一些基本的PHP CMS教程,以了解数据库和PHP是如何协同工作的。如果您只是想得到一个简单的一次性内容管理解决方案,那么我真的必须建议您使用一些优秀的开源解决方案,无论哪种方式,我都祝您在追求中好运

这是一个漫长的旅程,但为了回答你的问题

  • html表单使用POST或GET。 对于任何不只是获取数据的操作,请坚持使用post(避免XSS问题)

  • 作为初学者,使用数字作为输入或学习 (这是一个db的东西,但与下面的示例相同…)

一个简单但有效的例子

<html>
 <body>
  <form method="post" action="adduser.php">
   <input type="text" name="username"/>
   <input type="password" name="password"/>
   <input type="submit" value="create" />
  </form>
 </body>
</html>

adduser.php:
<?
//get form fields...
$username = str_replace(';','',$_POST['username'];
$password = str_replace(';','',$_POST['password'];

//insert into text-table...
$fp = fopen('usertable.dat','a');
fwrite($fp,$username . ';' . $password) . chr(13). chr(10);
?>
<html>
 ....
 <p>Your account has been created.</p>

adduser.php:

您不需要创建新页面。只有一个发布页面,可以通过PHP和JS进行操作。不要期望在10-15年内制造类似stackoverflow的东西。经过大量的研究。很多。“假设他们理论上可以为每一个问题创建一个新的物理页面…”好吧,它是用.NET编写的…这与.NET有什么关系?不太“隐藏”通过将url重写为人性化和搜索引擎友好的内容来获取VAR是一种常见的SEO实践。@Joe-提醒我不要再对stackoverflow挖苦了。Jamie-对不起。我和你一样喜欢讽刺。我真的被吓了一跳。