我已经在jquery和JavaScript中使用PHP和mysql的后端阅读了有关Chartrooms的几个教程。我知道这部分的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());
}
}
?>
您需要的任何其他信息都告诉我,我可以更新。
文件结构:
Uncaught SyntaxError:意外的令牌) - 第33行
答案 0 :(得分:0)
如果您可以从正在使用的浏览器共享Javascript控制台,则可以显示问题所在的一些见解。如果您是开发人员的新手,请使用以下内容显示控制台:
在Chrome和Mac上: cmd +选项(alt)+我 将打开控制台。选择最后一个选项,该窗口上的控制台。
此外,在您错过的代码的开头,不确定您在复制代码时是否错过了。
<?php
在服务器端,您可以检查与php相关的错误。
error.log
答案 1 :(得分:0)
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);
});