Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向连接的用户发送消息_Php_Mysql - Fatal编程技术网

Php 向连接的用户发送消息

Php 向连接的用户发送消息,php,mysql,Php,Mysql,我想从一个用户(用户a)向另一个用户(用户B)发送一条消息,这些用户在数据库中相互连接。更具体地说 我们将用户的连接保存在数据库中的一个表中,我们称之为friends。在这个表中,我们有两列,username和friend 我有代码用于在用户之间发送数据,但它不执行任何检查,以查看希望向用户B发送消息的用户A是否相互连接。如果用户已连接,我希望允许他们发送消息,如果他们未连接,我希望回显一个通知,说明由于他们未连接,因此不允许他们发送消息 我可以理解,我需要一个if条件,在该条件下,我执行检查以

我想从一个用户(用户a)向另一个用户(用户B)发送一条消息,这些用户在数据库中相互连接。更具体地说

我们将用户的连接保存在数据库中的一个表中,我们称之为friends。在这个表中,我们有两列,username和friend

我有代码用于在用户之间发送数据,但它不执行任何检查,以查看希望向用户B发送消息的用户A是否相互连接。如果用户已连接,我希望允许他们发送消息,如果他们未连接,我希望回显一个通知,说明由于他们未连接,因此不允许他们发送消息

我可以理解,我需要一个
if
条件,在该条件下,我执行检查以查看用户是否已连接并具有下面的相应代码,如果未连接,则输出上述通知

如何创建此检查

我正在使用php和mysql

这是我的密码

<?php
include_once 'header.php';

if (!$loggedin) die();

if (isset($_GET['view'])) {
  $view = sanitizeString($_GET['view']);
} else {
  $view = $username;
}

if (isset($_POST['text'])){
    $text = sanitizeString($_POST['text']);

    if ($text != ""){
        $pm   = substr(sanitizeString($_POST['pm']),0,1);
        $time = time();
        queryMysql("INSERT INTO messages VALUES(NULL, '$username', '$view', '$pm', $time, '$text')");
    }
}

if ($view != "") {
    if ($view == $username) {
       $name1 = $name2 = "Your";
    } else {
        $name1 = "<a href='members.php?view=$view'>$view</a>'s";
        $name2 = "$view's";
    }

    echo "<div class='main'><h3>$name1 Messages</h3>";
    showProfile($view);

    echo <<<_END
<form method='post' action='messages.php?view=$view'>
Type here to leave a message:<br />
<textarea name='text' cols='40' rows='3'></textarea><br />
Public<input type='radio' name='pm' value='0' checked='checked' />
Private<input type='radio' name='pm' value='1' />
<input type='submit' value='Post Message' /></form><br />
_END;

    if (isset($_GET['erase'])) {
        $erase = sanitizeString($_GET['erase']);
        queryMysql("DELETE FROM messages WHERE id=$erase AND recip='$username'");
    }

    $query  = "SELECT * FROM messages WHERE recip='$view' ORDER BY time DESC";
    $result = queryMysql($query);
    $num    = mysql_num_rows($result);

    for ($j = 0 ; $j < $num ; ++$j) {
        $row = mysql_fetch_row($result);

        if ($row[3] == 0 || $row[1] == $username || $row[2] == $username) {
            echo date('M jS \'y g:ia:', $row[4]);
            echo " <a href='messages.php?view=$row[1]'>$row[1]</a> ";

            if ($row[3] == 0) {
                 echo "wrote: &quot;$row[5]&quot; ";
            } else { 
                 echo "whispered: <span class='whisper'>" . "&quot;$row[5]&quot;</span> ";
            }
            if ($row[2] == $username) {
                echo "[<a href='messages.php?view=$view" . "&erase=$row[0]'>erase</a>]";
            }
            echo "<br>";
        }
    }
}

if (!$num) {
  echo "<br /><span class='info'>No messages yet</span><br /><br />";
}
echo "<br /><a class='button' href='messages.php?view=$view'>Refresh messages</a>";
?>

</div><br /></body></html>

我的问题的检查系统如下所示,它可以正常工作

<?php
include_once 'header.php';

if (!$loggedin) die();

if (isset($_GET['view'])) $view = sanitizeString($_GET['view']);
else                      $view = $username;

$result1 = mysql_num_rows(queryMysql("SELECT username,friend FROM friends
            WHERE username='$username' AND friend='$view'"));



$result2 = mysql_num_rows(queryMysql("SELECT username,friend FROM friends
            WHERE username='$view' AND friend='$username'"));

if (($result1 + $result2) > 1)
{
 //REST OF THE CODE 
}

首先编写一些代码并帮助自己,然后社区显然会进一步帮助您。可能相关:--查找示例查询。这是您问题的答案还是其他信息。如果是其他信息,您应该编辑您的问题并添加此信息。