关于php页面创建的问题

时间:2010-12-16 20:56:09

标签: php mysql

我想创建一个包含注册和用户个人资料的简单网站。 现在,我真的不知道用户是否有办法在点击时创建一个新页面,比方说,NEW POST或类似的东西。 如果我没有错,Stackoverflow正在使用类似的东西,所以我希望有人向我介绍这是如何完成的。

BTW,我在PHP + MySQL下工作

4 个答案:

答案 0 :(得分:0)

我认为您正在寻找包含数据库内容的模板页面。

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

是的,我假设这就是stackoverflow的工作原理,我想他们可能理论上每个问题都有一个新的物理页面......

答案 1 :(得分:0)

传统方式:

  • 创建一个新的PHP页面,使用<FORM><INPUT type="submit">按钮以及其他几个<INPUT>字段输出HTML form
  • 当用户单击该按钮时,字段中的数据将发布到您的表单。使用$_GET[]$POST[]数组在PHP脚本开头检索此数据。
  • 使用MySQL PHP API将数据保存在数据库的表中,稍后在相同或其他PHP页面中检索。

此方法的缺点是,无论何时单击按钮,都必须刷新页面。因此,现在很多网站都使用AJAX方式:

  • 使用链接元素创建一个HTML页面,该链接元素无处可链接但会触发JavaScript函数,例如。 <A href="#" onClick="doSubmitData()">Click me</A>
  • 在JavaScript函数中,从DOM检索数据并将其发布到单独的后端PHP脚本,例如“savedata.php”
  • 重复上面的最后两步(在PHP中检索数据,保存在MySQL中)
  • 当您稍后需要数据时,请遵循相反的方式,例如。使用JavaScript访问类似“getdata.php”的内容,以XMLJSON格式检索数据,然后解析并显示DOM中元素的数据。

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

答案 2 :(得分:0)

欢迎使用Web应用程序进行漫长的旅程。最好处理你提供的信息是启动dynamic web site development.上可用的任何优秀教程。设置学习PHP编程的现实目标(因为这是你所说的语言),并在一开始就明白这需要花费大量时间和精力来学习并有效地进行。

但要对动态网站的内容进行基本概述:

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

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

这些类型的应用程序中的大多数将使用某种类型的框架构建,该框架遵循众所周知的编程结构之一。 Web应用程序最常见的一种称为Model-View-Controller.这是因为此体系结构分离这些层的方式非常类似于Web环境中典型用户请求的流程(视图 - 用户界面,控制器 - 程序层) ,model - 链接到数据库以实现其属性的数据的编程表示。)

请记住,这只是摘要中的理论。当你增加PHP的词汇时,你很可能会开始编写运行基本命令的简单程序(从上到下的脚本)程序。如果您真的有兴趣将其作为一种可能的职业或强烈追求的爱好来学习,我建议您搜索一些基本的PHP CMS教程,以了解数据库和PHP如何协同工作。如果你只是想要一个简单的,一次性的内容管理解决方案,那么我真的必须建议你使用一些很好的开源解决方案,如Wordpress.无论哪种方式,我希望你在追求中好运!

答案 3 :(得分:0)

这是一段漫长的旅程,但回答你的问题,

  • html-forms使用POST或GET。 坚持使用比GET数据更多的任何操作的帖子(避免XSS问题)

  • 作为初学者,使用数字作为输入或学习http://bobby-tables.com/ (这是一个db-thing,但在下面的例子中也是一样的......)

一个简单但有效的例子;

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

当您添加验证,安全性,完整性时,您最终将需要一个良好的框架。有几十个。 wordpress可能是一个很好的起点。

此致 //吨