2017-05-31 65 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