2017-07-27 64 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' /'<?= '(打印)像這樣 –