PHP写入文件与HTML无法正常工作

时间:2017-05-30 09:54:38

标签: php html

我一直在关注一个可以找到here的聊天室的基本示例。

当用户点击进入并POST数据时,post.php应该将该文本写入log.html文件(其中只包含日志)。 我有两个问题,

  1. 第一个为什么我需要将数据发布到另一个页面?为什么我只能从index.php写入日志文件?

  2. 第二个问题是为什么我的post.php没有写入log.html文件?

  3. 到目前为止,我已经发现我的index.php正在发送POST请求,但在查看开发人员工具后,我可以看到post.php的响应如下所示:

    this

    为什么呢?这是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", "");
    

    提前感谢您的所有帮助!

2 个答案:

答案 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位,则认为不重要。

故事的道德:检查每个位代码,即使您之前已经检查过。