Php 未捕获的语法错误:意外标记}doctype

Php 未捕获的语法错误:意外标记}doctype,php,jquery,ajax,session,batch-file,Php,Jquery,Ajax,Session,Batch File,我正在写一个小的导入脚本,由于数据量的原因,我不得不拆分它 因此,我有了一个start.php,它具有奇特的ajax操作,dbactions.php完成了所有的艰苦工作 该脚本首先初始化数据,检查double并创建具有ID的会话 然后它应该分批检查ID 在第一次调用时,start.php没有错误,脚本的第一部分运行良好,它创建了一个超过12k ID的数组的用户会话 但是当我输出第二次初始化的结果时,它给出了 未捕获的语法错误:意外标记} 请参见随附的屏幕截图: 尽管缺少$do变量,dbacti

我正在写一个小的导入脚本,由于数据量的原因,我不得不拆分它

因此,我有了一个start.php,它具有奇特的ajax操作,dbactions.php完成了所有的艰苦工作

该脚本首先初始化数据,检查double并创建具有ID的会话

然后它应该分批检查ID

在第一次调用时,start.php没有错误,脚本的第一部分运行良好,它创建了一个超过12k ID的数组的用户会话

但是当我输出第二次初始化的结果时,它给出了

未捕获的语法错误:意外标记}

请参见随附的屏幕截图:

尽管缺少$do变量,dbactions.php本身并没有给出错误,而start.php在第一次加载时也没有给出错误

start.php如下所示:

<?php
header('Content-Type: text/html; charset=utf-8');
session_start();
$_SESSION['start_counter'] = 0;
$_SESSION['batches'] = 1;
$_SESSION['array_counter'] = 0;
$_SESSION['batchcount'] = 0;
$_SESSION['newsletter'] = 0;


?>

    <!DOCTYPE>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>DB-actions</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="main.css" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
        <script>
            function DoSomething(what){
                var request = $.ajax({
                    url: "dbactions.php?do=" + what,
                    type: "GET",            
                    dataType: "html"
                });
                $('#godosomething').attr('disabled','true');
                $('#doing').show();
                $('#callmsg').empty();
                $('body').addClass('grey');
                request.done(function(msg) {
                    $('#doing').hide();
                    $("body").removeClass("grey");
                    $("#callmsg").html(msg);          
                });
                request.fail(function(jqXHR, textStatus) {
                    alert( "Request failed: " + textStatus );
                });
            }
        </script>
        <style type="text/css">
            padding, margin: 0;
            body  { padding:20px 0;}
            p { padding-bottom:3px;}
            #callmsg { margin:50px 0; }
            #insertmsg { margin:50px 0; }
            #doing { display:none; position:absolute; bottom:48%; right:48%; border: 1px solid green; padding: 20px; background-color:green; color: white;}
            .grey { background-color: grey; opacity: 0.5;}
            .green { color:green; }
        </style>
    </head>

    <body>

    <h1>Start the import</h1>
    <button type="button" onclick="DoSomething('initialize')" id="godosomething">Go baby</button>
    <div id="callmsg"></div>
    <div id="doing">I am working, please wait...</div>

    </body>
    </html>
还有一个关于“和”标记的建议,我试图在输出中更改它们,但没有帮助

我也想到了打印的长输出,但禁用它并没有帮助

这是第二个输出:

echo '<h2>Batch successfull</h2>';
$_SESSION['start_counter'] = $_SESSION['start_counter'] + $numberofqueries;
$_SESSION['batches']++;
echo "<p>Next? <button type='button' onclick" . "='DoSomething('makearray')" ."id='godosomething'>Go baby</button></p>";
echo '<p>Batch'.$_SESSION['batches'].' from '.$_SESSION['batchcount'].'</p>';
echo '<pre>';
print_r($_SESSION['users']);
echo '</pre>';  
echo“批处理成功”;
$\u会话['start\u counter']=$\u会话['start\u counter']+$numberofquerys;
$_会话['batches']+%;

回声“下一个 你没有正确地计算这个

 "DoSomething('makearray')"
应该是:

 echo "<p>Start first? <button type='button' onclick" . "='DoSomething('makearray')" ."id='godosomething'>Go baby</button></p>";
在php中:

           <style type="text/css">
                padding { margin: 0;}
                body  { padding:20px 0;}
                p { padding-bottom:3px;}
                #callmsg { margin:50px 0; }
                #insertmsg { margin:50px 0; }
                #doing { display:none; position:absolute; bottom:48%; right:48%; border: 1px solid green; padding: 20px; background-color:green; color: white;}
                .grey { background-color: grey; opacity: 0.5;}
                .green { color:green; }
            </style>

echo“先开始?您的CSS无效。请尝试此操作

<button type="button" onclick="DoSomething(" makearray")"="" id="godosomething">Go baby</button>

填充{边距:0;}
正文{padding:20px 0;}
p{填充底部:3px;}
#callmsg{margin:50px 0;}
#insertmsg{margin:50px 0;}
#正在执行{显示:无;位置:绝对;底部:48%;右侧:48%;边框:1px纯绿色;填充:20px;背景色:绿色;颜色:白色;}
.grey{背景色:灰色;不透明度:0.5;}
.green{颜色:绿色;}
您的第二个按钮有错误

改变这个

<button type="button" onclick="DoSomething('makearray')" id="godosomething">Go baby</button>
宝贝
对此

echo "<p>Next? <button type='button' onclick" . "='DoSomething('makearray')" ."id='godosomething'>Go baby</button></p>";
宝贝
更改此选项-

echo "<p>Next? <button type='button' onclick=DoSomething('makearray') id='godosomething'>Go baby</button></p>";

echo”下一步?您在第2行的start.php中有一个意外的
}
?不,我没有,错误是由其他原因引起的。请更改
会话_start()的顺序
标题('Content-Type:text/html;charset=utf-8')
我想你需要
会话\u开始
然后再将输出发送到HeaderHanks我尝试过它,但它没有帮助顺便说一句,我也使用Chrome,但有时Firefox的Firebug会提供更详细的信息以及错误在代码中的确切位置。谢谢你的回答!我在错误描述中发现一个错误,错误消息来自secound输出。我在问题中添加了它,并尝试了你的答案,但没有帮助(ohm是的,谢谢你有一个css错误,但是你的答案是不正确的,与错误无关,但是无论如何谢谢你Pjack。第二个按钮现在没有注释,问题仍然存在,所以它不可能是那样。但是我还是改变了它,并尝试了,没有改变。但是非常感谢你!当它被修复时,它工作正常。Batch successfull不知道为什么它不适合你。你是说开发链接的测试版本也适合你吗?是的。当我解决这个问题时。按钮旁边首先开始的PHP代码在哪里。我没有看到上面提出的问题。这是问题的一行谢谢。你的第一行是raam86的答案,我以前也有过,就像你一样urs。但是你的回答也没有帮助…我应该发布dbactions.PHP的完整PHP代码吗?@Owl你能给我看一下整个代码和标记的错误吗?@swapnes这里是:-错误消息如上面的截图所示谢谢@swapnesh的帮助!你能找到错误所在吗?我编辑他回答了我的问题again@Owlu plz是否可以检查代码中是否不存在空格或伪空格
echo "<p>Next? <button type='button' onclick" . "='DoSomething('makearray')" ."id='godosomething'>Go baby</button></p>";
echo "<p>Next? <button type='button' onclick=DoSomething('makearray') id='godosomething'>Go baby</button></p>";