【发布时间】:2015-06-28 03:53:17
【问题描述】:
我正在尝试创建一个私人消息传递系统,在该系统中,用户向另一个用户发送消息并将内容插入到数据库中。我使用称为哈希的随机数来识别两个人之间的对话。表是“message_group ”,用于保存消息的表是“消息”..问题来了..
当我在文本区域中输入内容并单击发送消息按钮时,它会将数据插入消息数据库。但是如果再次输入内容并尝试发送,数据将不会进入数据库。因为其他人只能得到第一条消息..请帮我解决这个问题..这是代码
<html>
<head>
<title>new convo</title>
</head>
<body>
<?php include 'connect.php';?>
<?php include 'message_title_bar.php';?>
<?php include 'functions.php';?>
<div>
<?php
if(isset($_GET['user']) && !empty($_GET['user'])){
?>
<form method='post'>
<?php
if(isset($_POST['message']) && !empty($_POST['message'])){
$my_id=$_SESSION['user_id'];
$user=$_GET['user'];
$random_number=rand();
$message=$_POST['message'];
$connect = mysqli_connect('localhost','root','','php_mysql_login_system');
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query_string = "SELECT `hash` FROM `message_group` WHERE (`user_one`='$my_id' AND `user_two`='$user') OR (`user_one`='$user' AND `user_two`='$my_id')";
$check_con=mysqli_query($connect,$query_string) or die(mysqli_error($connect));
if(mysqli_num_rows($check_con)==1){
echo "<p>Conversation already Started</p>";
}else{
$connect = mysqli_connect('localhost','root','','php_mysql_login_system');
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($connect,"INSERT INTO message_group VALUES('$my_id' , '$user' , '$random_number')");
mysqli_query($connect,"INSERT INTO messages VALUES ('','$random_number','$my_id','$message')");
echo "<p>Conversation started</p>";
}
}
?>
Enter message:<br />
<textarea name='message' rows='7' cols='60'></textarea>
<br />
<br />
<input type='submit' name="submit" value="sendmessage" />
</form>
<?php
}
else{
echo "<b>Select User</b>";
$connect = mysqli_connect('localhost','root','','php_mysql_login_system');
$user_list=mysqli_query($connect,"SELECT `id`,`username` FROM `users`");
while($run_user=mysqli_fetch_array($user_list)){
$user = $run_user['id'];
$username = $run_user['username'];
echo "<p><a href='send.php?user=$user'>$username</a></p>";
}
}
?>
</div>
</body>
</html>
感谢任何帮助。
【问题讨论】:
-
聊天系统或评论系统使用ajax...避免多次连接数据库...
-
尝试以这种方式使用插入函数
mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTOtablename(id,msg) VALUES ('$id','$msg')"); -
我只知道一点 php 和 mysqli..我从来没有学过 ajax 和 jquery..所以我没有使用它:( ..无论如何谢谢你的建议兄弟@DeepakKumar
-
我试过你告诉我的但没有用..你能建议我一些其他的方法吗? @DeepakKumar