我一直在关注一个可以找到here的聊天室的基本示例。
当用户点击进入并POST数据时,post.php应该将该文本写入log.html文件(其中只包含日志)。 我有两个问题,
第一个为什么我需要将数据发布到另一个页面?为什么我只能从index.php写入日志文件?和
第二个问题是为什么我的post.php没有写入log.html文件?
到目前为止,我已经发现我的index.php正在发送POST请求,但在查看开发人员工具后,我可以看到post.php的响应如下所示:
。
为什么呢?这是post.php:
$text = $_POST['text'];
$fp = fopen("log.html", 'a');
$content = "<div class='msgln'>(".date("g:i A").") <b>".$_SESSION['name']."</b>:".stripslashes(htmlspecialchars($text))."<br></div>";
fwrite($fp, $content);
fclose($fp);
index.php的相关部分:
var clientmsg = $("#usermsg").val();
$.post("post.php", {text: clientmsg});
$("#usermsg").attr("value", "");
提前感谢您的所有帮助!
答案 0 :(得分:0)
首先,必须以允许网络服务器写入到日志文件的方式设置 文件权限 (chmod)。其次,您可以将数据发送到index.php,请参阅下面的示例index.php。
if(array_key_exists("text",$_POST) && $_POST["text"] != ""){
//do log file writing
} else {
//do your normal business
}
答案 1 :(得分:0)
所以我发现了我出错的地方。在文件开头的post.php中,我有<?
而不是<?php
,这非常具有讽刺意味,因为我对此进行了双重检查,但如果没有php
位,则认为不重要。
故事的道德:检查每个位代码,即使您之前已经检查过。