Php 创建自动更新<;部门></部门>;当信息被粘贴到Mysql上时

Php 创建自动更新<;部门></部门>;当信息被粘贴到Mysql上时,php,html,posts,Php,Html,Posts,这是我来这里的第一天,我想你们可以帮我。所以,我正在为一个朋友做这种聊天服务。我希望它能够自动更新div标记中任何具有消息id的内容。我试着添加一些javascript和其他帖子中的东西,但它们只会让事情变得更糟。所以,如果有人能修复它并发表评论,或者给我一些建议。我想要它一旦有人发布了一些东西,它就会用消息的id更新div标签中的帖子 <?php session_start(); if(!isset($_SESSION['username'])) { header("Locatio

这是我来这里的第一天,我想你们可以帮我。所以,我正在为一个朋友做这种聊天服务。我希望它能够自动更新div标记中任何具有消息id的内容。我试着添加一些javascript和其他帖子中的东西,但它们只会让事情变得更糟。所以,如果有人能修复它并发表评论,或者给我一些建议。我想要它一旦有人发布了一些东西,它就会用消息的id更新div标签中的帖子

<?php

session_start();

if(!isset($_SESSION['username']))
{

header("Location: /index.php");

}

?>
<html>

<head>

<title>
House Email System
</title>

<style>

body
{
background: #383838;
font-family: Arial;
color: #444444;
position: absolute;
top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -150px;
}

form
{
background: #ffffff;
width: 270px;
border-radius: 15px;
box-shadow: 3px 3px 6px 1px #303030;
}

input
{
margin-left: 15px;
}

p
{
margin-left: 15px;
}

error
{
padding:2px 4px;
margin:0px;
border:solid 1px #FBD3C6;
background:#FDE4E1;
color:#CB4721;
font-size:14px;
font-weight:bold;
}

div
{
background: #f0f0f0;
}

hr
{
color: #d0d0d0;
background-color: #d0d0d0;
height: 3px;
border: 0px;
}

username
{
margin-left: 5px;
}

message
{
margin-left: 10px;
}

</style>

</head>

<body>

<?php

$connect = mysql_connect("localhost", "root", "*******");
mysql_select_db("*******");

$username = $_SESSION['username'];
$message = $_POST['message'];
$submit = $_POST['submit'];

if($submit)
{

if($message)
{

mysql_query("INSERT INTO messages VALUES('', '$username', '$message')");

}
else
{

?>

<center>

<error>Please enter a message to send.</error> <br />

</center>

<br />

<?php

}

}

?>

<form action="active.php" method="POST">

<br />

<p>Message</p>
<input type="text" name="message" /> <br />

<br />

<input type="submit" name="submit" value="Submit" /> <br />

<br />

<?php

$query = mysql_query("SELECT * FROM messages ORDER BY id DESC");
$num_rows = mysql_num_rows($query);

if($num_rows > 0)
{

while($row = mysql_fetch_assoc($query))
{

$username = $row['username'];
$message = $row['message'];

?>

<div id="messages">

<br /> <username><b><?php echo $username; ?></b></username>

<hr />

<message><?php echo $message; ?></message> <br />

<br /> </div> <br />

<?php

}

}
else
{

?>

<center>

<error>There are no messages to display.</error> <br />

</center>

<br />

<?php

}

?>

</form>

</body>

</html>

家庭电子邮件系统
身体
{
背景#3838;
字体系列:Arial;
颜色:#4444;
位置:绝对位置;
最高:50%;
左:50%;
利润上限:-75px;
左边距:-150px;
}
形式
{
背景:#ffffff;
宽度:270px;
边界半径:15px;
盒影:3px 3px 6px 1px#303030;
}
输入
{
左边距:15px;
}
P
{
左边距:15px;
}
错误
{
填充物:2px4px;
边际:0px;
边框:实心1px#FBD3C6;
背景#FDE4E1;
颜色:#CB4721;
字体大小:14px;
字体大小:粗体;
}
div
{
背景:#f0;
}
人力资源
{
颜色:#D0;
背景色:#D0;
高度:3倍;
边界:0px;
}
用户名
{
左边距:5px;
}
消息
{
左边距:10px;
}





没有要显示的消息

我希望你们能帮助我,谢谢

I want it as soon as someone posted something, it updates the posts in the div tags with the id of messages.
对于这一部分,您必须使用JavaScript。其他一切都可以通过PHP和MySQL完成


前几天我在youtube上观看了关于如何做到这一点的精彩教程。这是一个“快速而肮脏”的解决方案,但应该给你一些东西来建立

首先创建一个页面message.php,如下所示:

        <?php
session_start();
?>
<html>

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"     type="text/javascript"></script>

<script type="text/javascript">
        $(document).ready(function()
        {
            $('#submit').click(function()
            {
            //alert("hello");
           // ss=document.getElementById("message").value;

                $.ajax({
                      type : 'POST',
                      url : 'active.php',

                     data: {
                     messages :$('#message').val()
                       },
                      success : function(data){

                         $('#messages').html(data);
}

                });


            });
        });
    </script>

<title>
House Email System
</title>

<style>

body
{
background: #383838;
font-family: Arial;
color: #444444;
position: absolute;
top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -150px;
}

form
{
background: #ffffff;
width: 270px;
border-radius: 15px;
box-shadow: 3px 3px 6px 1px #303030;
}

input
{
margin-left: 15px;
}

p
{
margin-left: 15px;
}

error
{
padding:2px 4px;
margin:0px;
border:solid 1px #FBD3C6;
background:#FDE4E1;
color:#CB4721;
font-size:14px;
font-weight:bold;
}

div
{
background: #f0f0f0;
}

hr
{
color: #d0d0d0;
background-color: #d0d0d0;
height: 3px;
border: 0px;
}

username
{
margin-left: 5px;
}

message
{
margin-left: 10px;
}

</style>

</head>

<body>



<center>

<error>Please enter a message to send.</error> <br />

</center>

<br />



<form action="active.php" method="POST">

<br />

<p>Message</p>
<input type="text" name="message" id="message" /> <br />

<br />

<input type="button" id="submit" name="submit" value="Submit" /> <br />
</form>
<br />

<div id="messages">



</div>

</body>

</html>



<script language="JavaScript"><!--
// v3 compatible:
function doSomething() {
   // do something here...
   $.ajax({
                      type : 'POST',
                      url : 'active.php',

                     data: {
                     messages :$('#message').val()
                       },
                      success : function(data){

                         $('#messages').html(data);
}

                });
   setTimeout('doSomething()',3000);
}
setInterval('doSomething()',3000);
//--></script>

$(文档).ready(函数()
{
$(“#提交”)。单击(函数()
{
//警惕(“你好”);
//ss=document.getElementById(“消息”).value;
$.ajax({
键入:“POST”,
url:'active.php',
数据:{
消息:$(“#消息”).val()
},
成功:功能(数据){
$('#messages').html(数据);
}
});
});
});
家庭电子邮件系统
身体
{
背景#3838;
字体系列:Arial;
颜色:#4444;
位置:绝对位置;
最高:50%;
左:50%;
利润上限:-75px;
左边距:-150px;
}
形式
{
背景:#ffffff;
宽度:270px;
边界半径:15px;
盒影:3px 3px 6px 1px#303030;
}
输入
{
左边距:15px;
}
P
{
左边距:15px;
}
错误
{
填充物:2px4px;
边际:0px;
边框:实心1px#FBD3C6;
背景#FDE4E1;
颜色:#CB4721;
字体大小:14px;
字体大小:粗体;
}
div
{
背景:#f0;
}
人力资源
{
颜色:#D0;
背景色:#D0;
高度:3倍;
边界:0px;
}
用户名
{
左边距:5px;
}
消息
{
左边距:10px;
}
请输入要发送的消息


信息





然后创建一个页面active.php作为

<?php
session_start();
$connect = mysql_connect("localhost", "root", "");
mysql_select_db("test");

$username=$_SESSION['username'];
$message=$_POST['messages'];

if($message!="")
{
mysql_query("INSERT INTO messages VALUES('', '$username', '$message')");
}

$query = mysql_query("SELECT * FROM messages ORDER BY id DESC limit 1,0");
$num_rows = mysql_num_rows($query);

if($num_rows > 0)
{

while($row = mysql_fetch_assoc($query))
{

$username = $row['username'];
$message = $row['message'];

?>

<div>

<br /> <username><b><?php echo $username; ?></b></username>

<hr />

<message><?php echo $message; ?></message> <br />

<br /> </div>


<br />

<?php

}

}
else
{

echo"No message to show";
}
?>







这是一个非常普通的聊天。现在你需要根据你的需求来更改它。

从零开始构建类似的东西肯定有更好的解决方案,试试谷歌搜索“ajax聊天”吧。我不太擅长javascript,但上次我尝试添加它时,它确实更新了消息,但它也重复了表单。你能至少把它添加到脚本中并发送给我吗?谢谢你的回复,但这不起作用。当您转到active.php时,它会随机发布帖子,然后当您转到message.php时,您必须发布一些东西才能看到其他帖子。如果您在,当其他人写入时,它不会更新。我根据您的上述要求做了一些更改。请不要直接在active.phpNow上转到页面。它可以工作,但不是创建一条消息并发布它,而是发布一吨。此外,它还弄乱了表单末尾的CSS。请检查更新后的CSS以了解上述要点。只是在查询中设置了限制。。。。