2017-07-27 61 views
0

所以即时尝试运行一个PHP脚本,该脚本将数据库中的已删除字段设置为在您将某个文本元素拖放到可放置区域时进行流行。'意外的令牌;'当试图在jQuery AJAX请求中传递PHP变量

目前,我有这个可投放区域

<div class="dropbin" id="dropbin" > 
    <span class="fa fa-trash-o noSelect hover-cursor" style="font-size: 20pt; line-height: 225px;">&nbsp;</span> 
</div> 

拖动文本

<div id='dragme' data-toggle='modal' data-target='#editNoteNameModal' class='display-inline'>" . $data['NoteName'] . "</div> 

以下方面的问题区域IM是这样的:

$("#dropbin").droppable 
    ({ 
    accept: '#dragme', 
    hoverClass: "drag-enter", 
    drop: function(event) 
    { 
     var noteid = <?php if(isset($_POST['noteid'])){ echo $_POST['noteid'];} ?>; 
     var deletedby = <? if(isset($_SESSION['username'])){ echo $_SESSION['username'];} ?> 
     var data = {noteid1: noteid, deletedby1: deletedby}; 

     if (confirm('Delete the note?')==true) 
     { 
     $('#dragme').hide(); 
     debugger 
     $.ajax({ 
      type: 'POST', 
      url: 'deleteNote.php', 
      datatype: 'json', 
      data: data, 
      success: function(result) 
       { 
        alert("Success"); 
       } 
     }); 

     window.location = "http://discovertheplanet.net/general_notes.php"; 
     } 
     else 
     { 
     window.location = "http://discovertheplanet.net/general_notes.php"; 
     } 
    } 
    }); 

编辑:线我得到的错误是:

var noteid = <?php if(isset($_POST['noteid'])){ echo $_POST['noteid'];} ?>; 

即时通讯目前得到一个“意外令牌;”及其停止工作。

只是一个侧面说明,如果我不变量运行它击中一切距:

url: 'deleteNote.php', 

也在里面deleteNote.php这是柜面它有助于:

<?php 

include "connectionDetails.php"; 

?> 

<?php 

if (isset($_POST['noteid1'], $_POST['deletedby1'])) 
{ 
    $noteid2 = $_POST['noteid1']; 
    $deletedby2 = $_POST['deletedby1']; 

    // echo "Hello...". $noteid; 

    $stmt = "UPDATE Notes SET Deleted = GETDATE() WHERE NoteID = (?)"; 
    $params = array($noteid2); 

    $stmt = sqlsrv_query($conn, $stmt, $params); 

    if ($stmt === false) 
    { 
     die(print_r(sqlsrv_errors(), true)); 
    } 
} 

else 
{ 
    echo "No Data"; 
} 


?> 

(我刻意在数据库中还没有删除,忽略)

任何人都可能帮助我得到这个工作?

+0

什么是调试?是评论还是错误? – Exprator

+1

'var noteid = <?php if(isset($ _ POST ['noteid'])){echo $ _POST ['noteid'];}?>;'除了潜在的引用问题,花点时间思考一下那条线的结果看起来像,如果POST参数没有设置... – CBroe

+0

这实质上是控制台中的开发人员窗口中的一个断点,所以我可以看到它是否触及代码的那一部分 –

回答

5

尝试在这些线路中添加引号和<?后在第二行添加php

var noteid = "<?php if(isset($_POST['noteid'])){ echo $_POST['noteid'];} ?>"; 
    var deletedby = "<?php if(isset($_SESSION['username'])){ echo $_SESSION['username'];} ?>"; 

OR

var noteid = "<?=isset($_POST['noteid']) ? $_POST['noteid'] : "" ?>"; 
var deletedby = "<?=isset($_SESSION['username']) ? $_SESSION['username'] : "" ?>"; 
+0

谁低估了这个?这是对的! – elegisandi

+0

这工作在我的错误,所以我会标记为答案,但你可能可以帮助我了解为什么它不运行PHP脚本?它甚至击中了ajax请求的成功部分 –

+0

您正在使用jQuery中的php代码,要在jquery/javascript中使用php变量,您必须加上引号和一个必须写入的内容'<?php' /'<?= '(打印)像这样 –