我刚刚开始使用SQL,我正在聊天。
几个问题: -
1)如果你来自index.php(你只能输入用户名的网站) 你会来home.php。它在顶部说:你还没发送消息。每次如果我刷新它只是上传最后一条消息。我知道有一个修复我只是找不到它。
2)如果我按下提交按钮,它会刷新页面并一直向上。因此,您必须一直向下滚动才能输入并查看您的消息。 +我可以在没有刷新的情况下解决这个问题,但是你没有看到任何消息beign send。
$scope.$apply
我知道代码看起来很乱。我没有任何教训让它看起来更好。
所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
我会帮助你,但我没有时间为你编写所有代码。
每次如果我刷新它只是上传最后一条消息
如果刷新页面,浏览器将重复上一次请求。如果您之前发过邮件,那将是一个POST请求。因此,消息将再次发送,因为浏览器会重复HTTP请求。
最常见的解决方法是在处理POST请求时将HTTP重定向到同一URL,因此浏览器发出的最后一个请求是GET请求(请参阅下面的备注)。
如果我按下提交按钮,它会刷新页面并全部完成 一路攀升。所以你必须一直向下滚动才能进入并查看你的 信息。 +我可以修复这个没有刷新但你没有看到 任何消息beign send。
对于聊天应用程序,这不是最好的方法。您可以撤消聊天消息的顺序(最新的),因此您无需向下滚动即可查看最新消息。
理想的方法是异步客户端/服务器通信。继续阅读一些关于AJAX(或websockets,如果你想向现代技术迈出一大步)的文章。一个简单的脚本可以定期(或通过使用websockets的通知)检查新消息,将它们附加到旧消息列表并相应地滚动。如果您也发送了一个后台任务的消息,那么您的第一个问题就会消失,因为您不需要执行"前台请求"发送/接收消息。
还有一件事:您应该阅读一些关于网络攻击的文章。您的代码容易受到XSS和SQL注入攻击。目前,您的PHP代码允许攻击者接管您的数据库并将任意代码注入页面。您应该使用HTML和SQL转义。