我的页面上有一个表单元素,如下所示:
<form id="form1" action="email.php" method="post">
//some input textbox and a submit button
</form>
将信息发送到另一个文件中的email.php。发送电子邮件后,我想向用户显示成功消息。向用户显示成功消息的最佳方式是什么。使用cookie可能是用户浏览器禁用。如果我使用会话。例如10000用户想要发送电子邮件时需要巨大的RAM空间。网址不安全&gt;&gt; ....最好的方式是什么。另外我不想使用ajax
答案 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等。如果这不会在服务器上产生额外负载并且非常适合您的应用程序,为什么不呢?而且您不一定要存储消息本身,而只需要存储状态标志。
在实践中,我使用所有这些方法。目前应该使用哪种方法 - 查看应用程序的要求及其将来的使用。