求大神帮忙看看哪里出错了。

INNLAD 2014-11-27 08:57:15
我想实现用户之间的通信,思想是建立一个消息表,然后把收件人用户名、发件人用户名、消息等放进去,然后谁想看发给自己的消息就去消息表中查找收件人是自己的记录。现在做到发消息这一块儿了,发完消息我发现数据库消息表中并没有记录,应该是没有正确插入表中,大神帮忙看看是哪里错了,我也是刚接触PHP的,以前上课学的东西都是基础的,运用到实践中总是出很多问题。
下面附上相关的代码(其中sqltable是用户表,sqltable2是消息表,user_name是用户表中存储用户名的,s_name是消息表中存储发件人的,r_name是消息表中收件人

config.php
<?php 
//常规参数设置

$servername="localhost"; //主机名
$sqlservername="root"; //mysql数据库用户名
$sqlserverpws="lmy"; //mysql数据库密码

$sqlname="lmy"; //数据库名
$sqltable="user"; //username表名
$sqltable2="message";

$admin_name="lmy"; //管理员用户名
$admin_pws="lmy"; //管理员密码
?>


message.php
<?php

session_start(); //一定要的
if($_SESSION["name"]==""){
echo "<script>location.href='index.php';</script>";
exit;
}
//上面的要验证过滤的
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>给管理员发信</title>
</head>

<body><center>
<form name="form1" method="post" action="message_cl.php"><table width="68%" height="304" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr align="center" bgcolor="#CCCCCC">
<td colspan="2">发信(message.php)||<a href="index.php">返回</a></td>
</tr>
<tr bgcolor="#CCCCCC">
<td align="right">收件人:</td>
<td align="left"><input name="r_name" type="text" id="r_name"></td>
</tr>
<tr bgcolor="#CCCCCC">
<td align="right">消息内容:</td>
<td align="left"><input name="content" type="text" id="content" size="40"></td>
</tr>
<tr align="center" bgcolor="#CCCCCC">
<td colspan="2"><input type="submit" name="Submit" value="发送">  
<input type="reset" name="Submit" value="重置"></td>
</tr>
</table>
</form>
</center>
</body>
</html>


message_cl.php
<?php 
session_start(); //一定要的
if($_SESSION["name"]==""){
echo "<script>location.href='index.php';</script>";
exit;
$_SESSION["name"]=$row[user_name];
//这里是SESSION来验证用户的合法性
}
include("config.php"); //参数页面提取过来

if(empty($_POST["r_name"])){
echo ("<script type='text/javascript'> alert('请填写收件人!');history.go(-1);</script>");
exit;
}
if(empty($_POST["content"])){
echo ("<script type='text/javascript'> alert('请填写消息内容!');history.go(-1);</script>");
exit;
}

$s_name=$_SESSION["name"];
$r_names=$_POST["r_name"];
$content=$_POST["content"];
$add_time=date("Y-m-d");
$is_open="no";

$db=mysql_connect($servername,$sqlservername,$sqlserverpws);

mysql_select_db($sqlname,$db) ;
$sql="select * from $sqltable where user_name='$s_name'";
$result=mysql_fetch_row(mysql_query($sql));

if(!$result){
echo ("<script type='text/javascript'> alert('无效的收件人!');history.go(-1);</script>");
}
else{
$sql="insert into $sqltable2(s_name,r_name,content,add_time,is_open) values('$s_name','$r_name','$content','$add_time','$is_open') ";
mysql_query($sql);

echo ("<script type='text/javascript'> alert('发送成功');location.href='index.php';</script>");
}
?>
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2014-11-27
  • 打赏
  • 举报
回复
哈哈,把分给我吧,已经远程协助解决。就是sql表里没有is_open字段而php又要插入is_open字段值,还有就是sql语句拼装问题
  • 打赏
  • 举报
回复
$s_name=$_SESSION["name"]; $r_names=$_POST["r_name"]; $content=$_POST["content"]; 输出一下,看有 值没 还有insert into $sqltable2(s_name,r_name,content,add_time,is_open) values('$s_name','$r_name','$content','$add_time','$is_open') 用SQL操作一下表,看结果是什么
xuzuning 2014-11-27
  • 打赏
  • 举报
回复
message_cl.php 37 行 mysql_query($sql) or die(mysql_error());

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧