php 我如何从按钮函数中获取一个值,以便在 AJAX 和SQL查找中使用?

hlswsv35  于 2023-01-24  发布在  PHP
关注(0)|答案(1)|浏览(139)

所以我有这个按钮,它基本上是允许用户改变一个给定的类别名称。所以当你按下这个编辑按钮,弹出警报将出现在屏幕上的一个输入字段,你写你想要的任何输入字段内,按下确定,它应该更新的值与任何你输入的输入字段。这是我的代码到目前为止:

<tbody>
<?php foreach (get_all_categories() as $r) { ?>

<td>
     <?php
           echo '<button type="button" class="btn btn-warning  edit-category"><i class="fa fa-pencil-square-o"></i> Edit</a></button> 
                 <input type="hidden" value="'. $r['category_id'] .'"  name="edit[]">';
     ?>
</td>

<?php } ?>
</tbody>

<script>

var id;
$('button.edit-category').click(function(e) {
id = $(this).parent()[0].childNodes[3].value;
  swal({   title: "An input!",   
    text: "Write something interesting:",   
    type: "input",   
    showCancelButton: true,   
    closeOnConfirm: false,   
    animation: "slide-from-top",   
    inputPlaceholder: "Write something" 
  }, 
    function(inputValue){   
      if (inputValue === false) return false;      
      if (inputValue === "") {     
        swal.showInputError("You need to write something!");     
        return false   }      
        swal("Nice!", "You wrote: " + inputValue, "success"); 
        //alert(inputValue);

        $.post( "edit_category_name.php", { editcategory: id,inputValue}, function( data ) {

        });

      }
      );

setTimeout(function () { location.reload(1); }, 5000);
});

</script>

用户名. php:

<?php include '../core/session.php'; ?>

<?php admin_protect (); 

if (isset($_POST['editcategory'])) {
   change_category_name($_POST['editcategory']);
   echo 200;
}
else {
   echo 404;
}

?>

函数更改类别名称:

function change_category_name ($category_id) {
$category_id = (int)$category_id;

mysql_query("UPDATE `mock_exam_category` SET `category_name` = '$category_id' WHERE `category_id` = '$category_id'");

}

inputValue是存储用户键入的输入的变量

我不完全知道如何做的功能,请有人能帮我解决这个问题。我希望我已经详细描述了这个问题,但如果你需要任何进一步的澄清,请问,谢谢

k5ifujac

k5ifujac1#

这是一个使用 AJAX 处理表单数据的基本示例,您可以根据需要更改它,例如登录、设置或注册表单。
当我向我的服务器发送任何数据时,我使用类似下面的代码:
我通过使用数据属性(data-id、data-user、data-XYZ)和安全令牌获取包含所需数据的HTML元素,然后将该数据发送到服务器端进行验证。一旦数据通过验证,就将其插入到数据库中。
这个 AJAX 函数例子可以将数据发送到远程地址,并返回响应、错误或其他数据,可以找到另一个例子,它使用jQuery $.ajax method to send data to a server代替下面的$.post方法:

正在发送数据:

e.stopPropagation();
var id = $(this).data('id');
var token = document.getElementById("token").value;
$.post("https://{server-address}/process.php",{
    data: id,
    token: token
},

接收数据响应:

function(data, status){
    $("#load").html(data);
});

完整代码:

$(document).on('click', '.report', function(e) { //on click, if ajax loaded in or not
    e.stopPropagation(); 
    var id = $(this).data('id');
    var token = document.getElementById("token").value;
    $.post("https://{server-address}/process.php",{
        data: id,
        token: token
    },
    function(data, status){
        $("#load").html(data);
    });
});

token变量用于防止跨站点请求伪造。在这里阅读更多信息Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet

相关问题