首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果命令/命令与以前相同,则停止当前脚本

如果命令/命令与以前相同,则停止当前脚本
EN

Stack Overflow用户
提问于 2015-02-03 11:46:27
回答 1查看 22关注 0票数 0

我有一个简单的项目,也许对你来说很容易。我的项目是创建一个聊天应用程序。我成功地创建了它,但我有一个问题。我的问题是,每次我重新加载页面时,文本都会被重复。

我使用一个数据库保存聊天历史,包括名字,网站和文本。

剧本:

代码语言:javascript
复制
<?php
error_reporting(0);
include"config.php"; //This is my database config and connection file
if ( isset ($_POST['nama'])) {
    $nama = $_POST['nama'];
    $web = $_POST['website'];
    $isi = $_POST['pesan'];
    $query = "INSERT INTO history(nama, website, text) VALUES('$nama', '$web', '$isi')";
    mysql_query($query); }
    $tampil = "SELECT * FROM history";
    $hasil = mysql_query($tampil);
    while ($data = mysql_fetch_array($hasil)) {
       echo"<a href='".$data['website']."'>".$data['nama']."</a>" : ".$data['text']."<br />"; }
?>

有人知道怎么停止之前的聊天吗?我的意思是我打开chat.php (我的索引),我输入名称,网站和文本,我点击发送按钮。聊天出现了,我用f5重新加载它。聊天再次出现,与前面相同,即使输入是空白的。

我为我糟糕的英语感到抱歉。我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 12:08:40

单击submit时,向When服务器发出POST请求。它告诉他将您的消息添加到历史表中。每次您再次按F5时,都会向服务器发送相同的POST请求。再次告诉您的服务器将相同的消息添加到历史表中。

解决办法很简单。您要做的是,浏览器对您的chat.php执行新的请求。没有设置nama变量的请求。在这个新请求之后,所有F5按下都会触发这个新请求,而不是旧请求。

您可以使用http头将浏览器重定向到正确的URL。

代码示例(未测试!):

代码语言:javascript
复制
if ( isset ($_POST['nama'])) {
    $nama = $_POST['nama'];
    $web = $_POST['website'];
    $isi = $_POST['pesan'];
    $query = "INSERT INTO history(nama, website, text) VALUES('$nama', '$web', '$isi')";
    mysql_query($query); 

    // NOW FORCE THE BROWSER TO ISSUE A NEW REQUEST
    header('Location: chat.php');
}

确保为您的chat.php文件使用正确的链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28298131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档