我正在为我和我的朋友在学校使用PHP创建在线聊天。它的结尾很像iMessage,所以我决定采用类似的美学,使用左右对齐的文字气泡。
目前,它使用基本的fopen命令相当简单,但我遇到的问题是检测输入消息的用户是否是查看消息的用户。我试图通过在' chat.txt'上设置变量来解决这个问题。页面,像这样:
<?php
$msgln = "msgln";
$msglnP = "msglnP";
$ses = $_SESSION['name'];
?>
使用下面列出的实际消息,格式如下:
<div id='msgln<?php if ($posterNam !== $ses) { echo "P"; } ?>'>(2:13 AM) <b>Audie</b>: fffff<br></div>
我相信这段代码会做我想的那样,如果id里面的php可以,因为缺少一个更好的词,&#39; work&#39;。
我有另一个文件post.php
,上面有这个代码:
<?php
session_start();
if (isset($_SESSION['name'])) {
$nam = $_SESSION['name'];
$text = $_POST['text'];
$fp = fopen("chat.txt", 'a');
$posterNam = $_POST['sessname'];
$code = '<?php if ($posterNam !== $ses) { echo "P"; } ?>';
fwrite($fp, "<div id='msgln".$code."'>(".date('g:i A').") <b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>");
fclose($fp);
}
?>
这是我想要实现的目标的图像。 link
顺便说一下,蓝色(右)是id=msglnP
,灰色是id=msgln
为了做到这一点,我试图摆脱单引号,逃避它们(大量添加和删除引号)更改变量所在的文件,这是带来我的唯一解决方案接近的。
真的,我要求的主要是我如何让id里面的PHP做它应该做的事情,而不是看我执行实际任务的代码是否写得正确,但是,如果你也想帮助它,请成为我的客人! (可能是我的代码有缺陷,而不是我的方法,无论如何)
我刚才看到了一个类似的问题,但没有一个解决方案似乎符合我的需求。
超级抱歉这是令人困惑的/一个糟糕的问题..如果我需要详细说明,我知道。