什么是将信息发回给用户的最佳方式

时间:2013-11-07 16:04:48

标签: php

我的页面上有一个表单元素,如下所示:

<form id="form1" action="email.php" method="post">
//some input textbox and a submit button
</form>

将信息发送到另一个文件中的email.php。发送电子邮件后,我想向用户显示成功消息。向用户显示成功消息的最佳方式是什么。使用cookie可能是用户浏览器禁用。如果我使用会话。例如10000用户想要发送电子邮件时需要巨大的RAM空间。网址不安全&gt;&gt; ....最好的方式是什么。另外我不想使用ajax

1 个答案:

答案 0 :(得分:2)

这是我的意见:

会话&gt;&gt;

您在会话中存储的所有数据都将存储在服务器上。默认位置是磁盘。 IO--资源非常有限。不需要时不要启动会话。当您不需要时,不要在会话中存储数据。

如果您有许多使用会话变量的PHP脚本,请考虑使用共享内存模块重新编译PHP以进行会话,或使用RAM磁盘。使用“configure --with-mm”启用它,然后重新编译PHP,并在php.ini中设置session.save_handler = mm。

为新页面提供一些GET参数。&gt;&gt;

这是一个很好的做法,但有一个缺点。如果客户端在他的收藏夹中存储链接(等等...)将其提供给另一个用户,他稍后打开此链接,那么他将看到成功消息。

提供超过Location标头并在目标页面上阅读。&gt;&gt;

这是一个很好的方法,但它取决于应用程序和客户端中间的服务器配置和代理。有时,服务器配置(代理)会终止非标准标头。但通常这不是问题。

将此数据存储在Cookie中。&gt;&gt;

还缺:

不要忘记删除cookie。 存储在cookie中的所有数据都将从您的服务器传输到客户端并返回。 将此数据存储在服务器上。

存储在数据库中&gt;&gt;,memcache,NoSQL等。如果这不会在服务器上产生额外负载并且非常适合您的应用程序,为什么不呢?而且您不一定要存储消息本身,而只需要存储状态标志。

在实践中,我使用所有这些方法。目前应该使用哪种方法 - 查看应用程序的要求及其将来的使用。