PHP和Javascript的简单用户管理比较


Comparison of simple User Regeistration by PHP and Javascript

一个简单的用户注册可以通过PHP(框架:Codeigniter等)和Javascript完成。以下是简单流程:

PHP

  1. 带有表单输入(用户名、电子邮件、密码)的注册视图
  2. 将数据发布到控制器以进行验证-传递,重定向到完成视图-失败,返回到带有一些警报字符串的注册视图

Javascript

  1. 带有输入文本(用户名、电子邮件、密码)的注册html
  2. 可以在提交之前直接通过Javascript进行验证;警报字符串可以是由Javscript生成。甚至提交也可以通过ajax完成。然后重定向到完成页

我发现自己编写的代码更多的是javascript,而不是PHP。甚至用户注册也可以在没有"注册"的情况下进行;形式";标签,对吧?我害怕我错过或忽略了某些部分。有人能给我简单比较一下这两种方法的好/坏部分吗?

用户注册详细信息必须存储在服务器上。你可以在那里使用任何你喜欢的语言,JavaScript(node.js是目前实现这一点的首选方式)、Perl(PSGI/Plack)、Python(WGSI)、C#(ASP.NET)、PHP(mod_PHP)等等。如果您完全使用客户端JavaScript进行注册,那么注册将只存在于特定的浏览器(这使得WWW上的几乎任何东西都毫无意义)。

您可以使用客户端JavaScript做很多事情。

您可以测试用户输入的数据是否符合您设置的要求(例如"用户名仅包含ascii字母数字字符")。

但是,您无法阻止不符合这些要求的数据提交到服务器——服务器之外的一切都超出了您的控制范围。用户可以随心所欲地在浏览器中编辑您的页面。客户端验证对用户来说是一种方便(在没有服务器往返和页面重新加载的情况下提供反馈),仅此而已。

您可以使用Ajax而不是HTML表单……但没有理由这样做。它只是增加了对JavaScript不必要的依赖性。这并不意味着Ajax没有用处,您可以使用它来询问服务器在用户填写表单的其余部分时是否已经使用了用户名