【问题标题】:Problem with jeditable pluginjeditable插件的问题
【发布时间】:2011-06-19 06:32:29
【问题描述】:

jeditable 的问题。想要即时更改用户信息,但它不起作用。在调试期间它显示 POST ok, no error, no success

我的代码(index.php)

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/jquery.jeditable.js"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
  $(".dblclick").editable("change.php", { 
    submitdata : {userid: "<?=$id?>"},
     id   : 'elementid',
     name : 'newvalue',
      indicator : "<img src='styles/images/ui-anim_basic_16x16.gif'>",
      tooltip   : "click to edit",
      event     : "dblclick",
      style  : "inherit"
  });
  });
  </script>
...
<div id="fullname" class="dblclick" ><?=$person->fullname?></div>

更改.php

<?php
require 'db.php';
$id=$_POST['userid'];
$field=$_POST['elementid'];
$newvalue=$_POST['newvalue'];
if(isset ($id) && isset($field) && isset($newvalue) )
{$query =  $db->query("UPDATE usr_table  SET '$field'='$newvalue' WHERE id = '$id'")  or die(mysqli_errno());
    }
?>

我哪里错了?

【问题讨论】:

    标签: php jquery mysqli jeditable


    【解决方案1】:

    您必须在列名周围使用反引号,而不是引号。但是,我必须指出,这段代码的编写方式非常不安全。您永远不应该将 GET POST 变量直接放入数据库查询中。

    这样更好:

    <?php
    require 'db.php';
    
    function fail($msg) {
        header('HTTP/1.0 404 Not Found');
        die($msg);
    }
    
    $id = (int)@$_POST['userid'];
    if (!$id) fail('User ID invalid or missing.', 404);
    
    $field = @$_POST['elementid'];
    $allowed_fields = array('fullname','dob','phone','adress','school','info');
    if (!in_array($field, $allowed_fields)) fail('Invalid or missing field.', 404);
    
    $newvalue = $db->real_escape_string(@$_POST['newvalue']);
    
    $db->query("UPDATE usr_table SET `$field`='$newvalue' WHERE id=$id") or fail($db->error);
    
    $q = $db->query("SELECT `$field` from usr_table where id=$id") or fail($db->error);
    if ($r = $q->fetch_row()) echo $r[0];
    else fail('User not found.');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多