php
  • jquery
  • 2013-12-17 25 views 0 likes 
    0

    我有一個index.php文件,其中包含一些客戶端數據,每個客戶端數據都有一個唯一的ID。 「create-a-note」-form(使用ajax)向mysql表發送一個註釋,並立即將註釋發佈到index.php。 的問題是,我不能讓CLIENT_ID到這樣的所有記錄被所有客戶端上顯示的處理文件:阿賈克斯張貼筆記與具體ID

    的index.php

    echo " 
    <div class='note' id='typenote".$clients_id."'> 
    <form>*the form*</form> 
    </div> 
    <div id="notes"></div> 
    "; 
    

    腳本

    $(document).ready(function(){ 
        function showNote(){ 
         $.ajax({ 
          type:"post", 
          url:"process.php", 
          data:"action=shownotes", 
          success:function(data){ 
           $("#notes").hide().html(data).fadeIn('slow'); 
          } 
        }); 
    } 
    
    showNote(); 
    
    $("#button").click(function(){ 
        var user=$("#user").val(); 
        var note=$("#note").val(); 
        var client_id=$("#client_id").val(); 
    
         $.ajax({ 
          type:"post", 
          url:"process.php", 
          data:"user="+user+"&note="+note+"&client_id="+client_id+"&action=addnote", 
          success:function(data){ 
          showNote(); 
          } 
         }); 
    }); 
    }); 
    

    過程.php

    include("connect.php"); 
    
        $action=$_POST["action"]; 
    
        if($action=="shownotes"){ 
         $show=mysql_query("Select * from sys_notes order by note_id desc"); 
        etc... 
    
    } 
        } 
        else if($action=="addnote"){ 
    etc... 
    

    這是問題所在...... 我如何獲得的$ CLIENT_ID

    Select * from sys_notes WHERE client_id=$client_is order by note_id desc 
    

    在process.php文件值,以便正確的音符被填充在我showNote()腳本ID(#notes)?

    回答

    2

    三件事情$_POST['client_id']或(方法2)訪問CLIENT_ID:

    1 - 切勿使用mysql_函數(沒人應該)使用mysqli_如果你必須或更好的看看PDO

    2 - 使用$ _SESSION global來保存諸如用戶和用戶ID之類的東西(這樣他們就不會忍受它並改變/顯示其他用戶的數據)

    3 - 對於你的問題我看到你發送client_id已經是那麼爲什麼不只是從那裏抓住它?

    希望這有助於

    +0

    +1擊敗我。 – jeroen

    +0

    3 - 是的,但只有當我POST數據。第一個動作($ action ==「show notes」)顯示發佈的筆記到目前爲止,當表單提交client_id發送時...是否有一種方法來拉ID到$動作==「顯示筆記」? – mikswe

    +0

    您可以使用隱藏字段選項並跨頁傳輸它,或者更好地使用會話在請求之間保存所需的數據 – ghousseyn

    0

    爲什麼要把查詢字符串放到datadata想要一個對象數組,或者您必須將查詢字符串設置爲url

    $.ajax({ 
         type:"post", 
         url:"process.php", 
         data:{user: user, note: note, client_id: client_id, action: "addnote"}, 
         success:function(data){ 
         showNote(); 
         } 
        }); 
    

    或(方法2)

    $.ajax({ 
         type:"post", 
         url:"process.php?user="+user+"&note="+note+"&client_id="+client_id+"&action=addnote", 
         success:function(data){ 
         showNote(); 
         } 
        }); 
    

    那麼你就可以$_GET['client_id']

    +0

    1日法工作張貼!謝謝,但那只是當我POST數據。第一個動作($ action ==「show notes」)顯示迄今爲止發佈的註釋,當表單被提交時,client_id被髮送...是否有辦法將client_id拉到$ action ==「show notes」? – mikswe

    0

    客戶端ID不應作爲可以通過客戶端進行操作的形式發送。這意味着一個客戶可以通過更改html中的數字來爲另一個客戶添加備註。

    我會假設您的客戶端登錄,而且ID存儲在一個會議,所以你只想訪問它在你的PHP文件一樣(只是一個例子):

    $_SESSION['client']['id']; 
    
    相關問題