2017-05-31 139 views
0

我在PHP/SQL製作通訊錄/ AJAX目前我有這樣的:PHP - AJAX更新按鈕不工作

I'm loading the selected contact's informations使用Ajax這樣的:

$.ajax({ 
        url: "select.php", 
        dataType: "html", 
        type: "post", 
        data: { 
         "id": id 
        }, 
        success: function(Result) { 
         $('#result').html(Result); 
        } 
       }); 

但我的問題是編輯聯繫信息。 在select.php獲取聯繫人ID從數據庫中選擇並顯示它,我添加了許多文本框,允許我們編輯數據,但是當我按下按鈕提交它不會做任何事情。

`

if(isset($_POST['update'])) 
{ 
    $prenom=$_POST["prenom"]; 
    $nom=$_POST["nom"]; 
    $tel=$_POST["tel"]; 
    $ville=$_POST["ville"]; 
    $email=$_POST["email"]; 
    //$q= "UPDATE `flexyperso`.`ca11` SET `prenom` = '".$name."', `nom` = '".$nom."', `tel` = '".$tel."', `ville` = '".$ville."', `email` = '".$email."' WHERE contact_id = '2'"; 
    echo "button pressed "; 
    mysql_query($q); 
} 

`

有誰知道爲什麼按鈕檢測不工作?

+0

[你看過瀏覽器開發工具中的AJAX請求/響應了嗎?你有沒有在項目中包含jQuery庫?是否有任何錯誤報告?你是在網絡服務器上運行它嗎?](http://jayblanchard.net/basics_of_jquery_ajax.html) –

+0

你只發送'id',所以你永遠不會輸入'if'語句if(isset($ _ POST ['update']))'你也需要發送其他數據。 –

+0

***請[停止使用'mysql_ *'功能](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)*** [這些擴展名](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。瞭解[prepared](http://en.wikipedia.org/wiki/Prepared_statement )[PDO]聲明(http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared- statement.php),並考慮使用PDO,[這真的很簡單](http://jayblanchard.net/demystifying_php_pdo.html)。 –

回答

1

你只發送id,所以你永遠不會輸入if陳述if(isset($_POST['update']))你也需要發送其他數據。

data: { 
    "update" : update, 
    "id" : id, 
    // other data here - nom, tel, etc. 
    }, 
+0

哦,我無法直接在select.php中檢查按鈕的位置? – Nalik

+0

只要您使用AJAX發送數據。如果您使用的是AJAX,則必須定義要發送的每一位數據,或者您可以序列化表單。 https://api.jquery.com/serialize/ –

+0

但所有的表單都位於我用ajax加載的select.php中。這是否意味着我必須將此表單放入主頁面中? – Nalik