2010-12-16 93 views
0

我想创建一个包含注册和用户配置文件的简单网站。 现在,我不知道是否有一种方法让用户在点击时创建新页面,比如NEW POST或类似的东西。 如果我没有错,Stackoverflow使用类似的东西,所以我希望有人向我介绍这是如何完成的。关于php页面创建的问题

顺便说一句,我在PHP + MySQL的

+0

你的意思是一种形式? – 2010-12-16 20:58:18

+0

您无需创建新页面。只有一个发布页面,通过PHP和JS进行操作。 – Lockhead 2010-12-16 21:01:18

+0

从基本的tutoiral开始。不要指望在10 - 15年内做出像stackoverflow这样的东西。经过大量的研究。许多。 – DampeS8N 2010-12-16 21:01:25

回答

0

我认为你正在寻找从数据库内容的模板页面的工作。

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

顺便说一句,我正在做的假设,这是如何工作的计算器,我想他们可能理论上有做每一个问题一个新的物理页面...

+0

“假设他们理论上可以为每个问题制作一个新的物理页面......”那么,它是用.NET编写的...... – Flukey 2010-12-16 21:09:04

+1

.NET与这有什么关系? – Joe 2010-12-16 21:16:11

+0

并不多,通过将网址重写为人类和搜索引擎友好来“隐藏”GET变量是一种常见的SEO练习。 – 2010-12-16 21:46:07

0

传统的方式:

  • 创建一个新的PHP页面,该页面使用<FORM>输出HTML form,并输入<INPUT type="submit">按钮和其他<INPUT>字段。
  • 当用户单击该按钮时,字段中的数据将发布到您的表单中。使用$_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端节省了大量工作。

0

欢迎来到与web应用程序长时间的旅程。对你提供的信息最好的办法是启动任何有用的教程dynamic web site development.设置学习PHP编程的实际目标(因为这是你所表达的兴趣),并且一开始就明白这将是花费巨大的时间和精力进行学习和有效的投入。

但是给什么使一个动态网站的基本纲要:

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

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

大多数这些类型的应用程序将是用一种遵循着名编程结构之一的框架构建。网络应用最常见的一种叫做Model-View-Controller.这是因为这种架构分离这些层的方式非常类似于Web环境中典型用户请求的流程(视图 - 用户界面,控制器 - 程序层,模型 - a编程表示链接到数据库以实现其属性的数据)。

请记住,这仅仅是总结中的理论。当你增加你的PHP词汇时,你很可能会开始编写简单的程序(从上到下脚本)运行基本命令的程序。如果您对将此视为一种可能的职业或强烈追求的兴趣感兴趣,我建议您搜索一些基本的PHP CMS教程,以了解数据库和PHP如何协同工作。如果你只是试图将一个简单的,一次性的内容管理解决方案放在一起,那么我真的必须建议你使用一些伟大的开源解决方案,例如Wordpress.。无论哪种方式,我希望你在你的追求中一切顺利!

0

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

  • HTML表单使用POST或GET。 棒与职位上,做多GET数据的任何行为(避免XSS-问题)

  • 作为一个初学者,使用号码为输入或学习http://bobby-tables.com/ (这是一个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> 

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

问候, //牛逼