【问题标题】:having problems creating jquery + PHP +MySQL chatroom在创建 jquery + PHP + MySQL 聊天室时遇到问题
【发布时间】:2014-09-29 19:36:12
【问题描述】:

我已经阅读了几篇关于 jquery 和 JavaScript 中图表室的教程,其中包含 PHP 和 mysql 的后端。我知道这其中的 php 部分会起作用(或者如果它不起作用,那么我可以修复它而不是 likley)但是问题在于我对 jquery 的了解极其有限。因此,希望这里有人可以就我的(可能非常明显的)错误所在的位置提供一些见解,我将不胜感激。

另外:我不是在寻找一个人来告诉我需要做什么,只是朝着正确的方向前进,因为我找不到任何真正有用的东西。

主页:

<?php
include 'connect.php';
session_start();

include 'include/notloggedin.php';
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="windows-1252">
    <title>zyrnith</title>
    <link href="stylesheets/all.css" rel="stylesheet" type="text/css"/>
    <link href="stylesheets/game.css" rel="stylesheet" type="text/css"/>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
                function scTop(){
     $("#messages").animate({scrollTop:$("#messages")[0].scrollHeight});
    }
    function load_new_stuff(){
     localStorage['lpid']=$(".messagerow:last").attr("title");
     $("#messages").load("include/messages.php",function(){
      if(localStorage['lpid']!=$(".messagerow:last").attr("title")){
       scTop();
      }
     });
    }
    $(document).ready(function(){
     scTop();
     });
    $('#chatbox').keydown(function() {
    if (event.keyCode == 13) {
      val=$(this).find("#chatbox").val();
      if (val != ""){
       $.post("include/sendchat.php",{message:val},function(){
        load_new_stuff();
       });
      }
      return false;
  })
  });


    $( document ).ready(function()
    {
        setInterval(load_new_stuff(), 1000);
    });
    </script>
</head>
<body>
    <div id="everything">
        <div style="width:200px; float: left;">
            test
        </div>
        <div id="chat">
            <div id="messages">
            <?php
                include 'include/messages.php';
            ?>
            </div>
            <form id="chatform">
                <input type="text" id="chatbox" maxlength="150" name="message" />
            </form>
        </div>
        <div style="float: right; text-align: right; width:200px;">
            <?php echo $_SESSION['username']; ?>
            <br />
            <a style="height: 150px; padding-right: 5px; font-variant: small-caps;" href="logout.php">Logout</a>
        </div>
    </div>
</body>
</html>

sendchat.php:

<?php
include("connect.php");
if(!isset($_SESSION['userid']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){
 die("<script>window.location.reload()</script>");
}
if(isset($_SESSION['userid']) && isset($_POST['message']))
{
 $message=htmlspecialchars($_POST['message']);
 if($message){
  mysql_query("INSERT INTO chat (user,message) VALUES ('$_SESSION['userid']','$message')") or die(mysql_error());
 }
}
?>

如果您需要任何其他信息,请告诉我,我可以更新。

文件结构:

  • 包括
    • messages.php
    • notloggedin.php
    • sendchat.php
  • changelog.txt
  • connect.php
  • error.php
  • chat.php
  • index.php
  • login.php
  • logout.php
  • register.php

Uncaught SyntaxError: Unexpected token ) -- 第 33 行

【问题讨论】:

  • 有什么问题?你遇到了什么错误?
  • 什么都没有发生,没有错误。只是重新加载页面,没有新的数据库条目,没有错误,什么都没有。
  • javascript 控制台是否提供任何见解?
  • Code Academy开始。
  • 就像我之前所说的,我的 JavaScript 知识基本上是反复试验,所以请告诉我我需要做什么才能获得更多信息,我会的,但我不熟悉 JavaScript 控制台

标签: javascript php jquery mysql


【解决方案1】:

如果您可以从您正在使用的浏览器共享 Javascript 控制台,则可以对问题所在提供一些见解。如果您是 dev 新手,请使用以下命令显示控制台:

在 Chrome 和 Mac 上: cmd + 选项 (alt) + 我 将打开控制台。选择最后一个选项,该窗口上的控制台。

另外,在您错过的代码的开头,不确定您在复制代码时是否错过了。

<?php

在服务器端,你可以检查php相关的错误。

error.log

【讨论】:

  • 在我尝试发送消息时使用opera(基于chrome)控制台保持清晰。
  • 发布服务器端错误。在与 php.ini 相同的文件夹中找到“Error.log”文件。也可以在 Chorme 和 Firefox 中尝试。
  • 我无权访问服务器的那部分。 chrome上也没有错误。
  • 右键单击文档,查看“查看源代码”显示的内容。把它贴在这里。我真的怀疑服务器是否将任何内容发送回客户端。此外,诸如 php 脚本的组织方式等更多细节也会有所帮助。
  • 从 chrome 和文件结构粘贴源代码。
【解决方案2】:
   function scTop(){
        $("#messages").animate({scrollTop:$("#messages")[0].scrollHeight});
    }
    function load_new_stuff(){
        localStorage['lpid']=$(".messagerow:last").attr("title");
        $("#messages").load("include/messages.php",function(){
            if(localStorage['lpid']!=$(".messagerow:last").attr("title")){
                scTop();
            }
        });
    }
    $(document).ready(function(){
        scTop();
    });
    $('#chatbox').keydown(function() {
        if (event.keyCode == 13) {
            val=$(this).find("#chatbox").val();
            if (val !== ""){
                $.post("include/sendchat.php",{message:val},function(){
                    load_new_stuff();
                });}}});


    $( document ).ready(function()
    {
        setInterval(load_new_stuff(), 1000);
    });

【讨论】:

    猜你喜欢
    • 2012-01-17
    • 1970-01-01
    • 2011-11-06
    • 2011-05-30
    • 2012-12-17
    • 2011-09-19
    • 2014-06-16
    • 2019-01-27
    • 2012-07-30
    相关资源
    最近更新 更多