ホームページ  >  記事  >  バックエンド開発  >  どこが間違っていたのかを見つけるのを手伝ってください。

どこが間違っていたのかを見つけるのを手伝ってください。

WBOY
WBOYオリジナル
2016-06-13 12:10:31769ブラウズ

どこが間違っていたのかを見つけるのを手伝ってください。
ユーザー間のコミュニケーションを実現したいのですが、メッセージテーブルを作成し、そこに受信者​​のユーザー名、送信者のユーザー名、メッセージなどを入力すれば、誰にでも送信されたメッセージを確認できるようになります。メッセージ テーブルに移動し、受信者が自分であるテーブル内のレコードを見つけます。メッセージの送信が完了しました。メッセージがテーブルに正しく挿入されていないことがわかりました。何が問題なのかを教えてください。私も PHP については初心者で、以前授業で学んだことはすべて基本的なものでしたが、実際に適用すると常に問題がたくさんありました。 関連するコードは以下に添付されています ( ここで、sqltable はユーザー テーブル、sqltable2 はメッセージ テーブル、user_name はユーザー テーブルに格納されているユーザー名、s_name はメッセージ テーブルに格納されている送信者、r_name はメッセージ テーブル受信者
)
config.php

<?php <br />//常规参数设置<br /><br />$servername="localhost";  //主机名<br />$sqlservername="root"; //mysql数据库用户名<br />$sqlserverpws="lmy"; //mysql数据库密码<br /><br />$sqlname="lmy"; //数据库名<br />$sqltable="user"; //username表名<br />$sqltable2="message";<br /><br />$admin_name="lmy";  //管理员用户名<br />$admin_pws="lmy";   //管理员密码<br />?>

message.php

<?php<br /><br />session_start(); //一定要的<br />if($_SESSION["name"]==""){<br />echo "<script>location.href='index.php';</script>";<br />exit;<br />}<br />//上面的要验证过滤的<br />?><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br /><html><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br /><title>给管理员发信</title><br /></head><br /><br /><body><center><br />  <form name="form1" method="post" action="message_cl.php"><table width="68%" height="304"  border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"><br />    <tr align="center" bgcolor="#CCCCCC"><br />      <td colspan="2">发信(message.php)||<a href="index.php">返回</a></td><br />    </tr><br />    <tr bgcolor="#CCCCCC"><br />      <td align="right">收件人:</td><br />      <td align="left"><input name="r_name" type="text" id="r_name"></td><br />    </tr><br />    <tr bgcolor="#CCCCCC"><br />      <td align="right">消息内容:</td><br />      <td align="left"><input name="content" type="text" id="content" size="40"></td><br />    </tr><br />    <tr align="center" bgcolor="#CCCCCC"><br />      <td colspan="2"><input type="submit" name="Submit" value="发送">  <br />        <input type="reset" name="Submit" value="重置"></td><br />    </tr><br />  </table><br />  </form><br /></center><br /></body><br /></html><br />

message_cl.php

<?php <br />session_start(); //一定要的<br />if($_SESSION["name"]==""){<br />echo "<script>location.href='index.php';</script>";<br />exit;<br />$_SESSION["name"]=$row[user_name];<br />//这里是SESSION来验证用户的合法性<br />}<br />include("config.php"); //参数页面提取过来<br /><br />if(empty($_POST["r_name"])){<br />echo ("<script type='text/javascript'> alert('请填写收件人!');history.go(-1);</script>");<br />exit;<br />}<br />if(empty($_POST["content"])){<br />echo ("<script type='text/javascript'> alert('请填写消息内容!');history.go(-1);</script>");<br />exit;<br />}<br /><br />$s_name=$_SESSION["name"];<br />$r_names=$_POST["r_name"];<br />$content=$_POST["content"];<br />$add_time=date("Y-m-d");<br />$is_open="no";<br /><br />$db=mysql_connect($servername,$sqlservername,$sqlserverpws);<br /><br />mysql_select_db($sqlname,$db) ;<br />$sql="select * from $sqltable where user_name='$s_name'";<br />$result=mysql_fetch_row(mysql_query($sql));<br /><br />if(!$result){<br />echo ("<script type='text/javascript'> alert('无效的收件人!');history.go(-1);</script>");<br />}<br />else{<br />$sql="insert into $sqltable2(s_name,r_name,content,add_time,is_open) values('$s_name','$r_name','$content','$add_time','$is_open') ";<br />mysql_query($sql);<br /><br />echo ("<script type='text/javascript'> alert('发送成功');location.href='index.php';</script>");<br />}<br />?>
-----ソリューションのアイデア----- ------
ははは、任せてください、すでにリモートで解決しました。 SQL テーブルには is_open フィールドがないため、PHP は is_open フィールド値を挿入する必要があります。また、SQL ステートメントのアセンブリ
の問題もあります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。