【问题标题】:php delete on jQuery doesnt workjQuery上的php删除不起作用
【发布时间】:2013-09-30 17:17:36
【问题描述】:

我有一个页面可以根据用户操作进行更新和删除编辑工作正常,但我的删除链接不起作用,当我点击删除链接时它不会做任何事情 如果可能的话,请帮助我解决我在这段代码中做错了什么,告诉我在哪里编辑以及如何编辑......

我有两个页面,第一个是

casher.php

<?php
    require_once('../auth.php');
?>
<html>
<head>
<title>Silay Institute</title>
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" />
<!--sa poip up-->
<link href="src/facebox.css" media="screen" rel="stylesheet" type="text/css" />
   <script src="lib/jquery.js" type="text/javascript"></script>
  <script src="src/facebox.js" type="text/javascript"></script>
  <script type="text/javascript">
    jQuery(document).ready(function($) {
      $('a[rel*=facebox]').facebox({
        loadingImage : 'src/loading.gif',
        closeImage   : 'src/closelabel.png'
      })
    })
  </script>
    <link rel="stylesheet" href="febe/style.css" type="text/css" media="screen" charset="utf-8">
<script src="argiepolicarpio.js" type="text/javascript" charset="utf-8"></script>
<script src="js/application.js" type="text/javascript" charset="utf-8"></script>
<style>
#mainhhh {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 8px solid #EEEEEE;
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0 0 10px #4E707C;
    font: 11px "Trebuchet MS",Verdana,Arial,Helvetica,sans-serif;
    margin: 5em auto;
    position: relative;
    text-align: left;
    width: 1000px;
}
#mainhhh h1 {
    background: none repeat scroll 0 0 #0092C8;
    border-bottom: 1px solid #007DAB;
    color: #FFFFFF;
    font-size: 14px;
    margin: 0;
    padding: 5px 10px;
    text-shadow: 0 1px 0 #007DAB;
}
</style>    
</head>
<body>
<div id="mainhhh">
<h1>
<a id="addq" href="index.php" title="click to enter homepage" style="background-image:url('../images/out.png'); background-repeat:no-repeat; padding: 3px 12px 12px; margin-right: 10px;"></a>
<label for="filter">Filter</label> <input type="text" name="filter" value="" id="filter" />
    <a rel="facebox" href="addcasher.php" id="addq">Add Casher</a>

</h1>

        <table cellpadding="1" cellspacing="1" id="resultTable">
            <thead>
                <tr>
                    <th  style="border-left: 1px solid #C1DAD7"> Name </th>
                    <th>ID Number</th>
                    <th>Work</th>
                    <th>Gender</th>
                    <th>Status</th>
                    <th>Birthday</th>
                    <th> Action </th>
                </tr>
            </thead>
            <tbody>
            <?php
                include('../connect.php');
                $result = mysql_query("SELECT * FROM casher");
                while($row = mysql_fetch_array($result))
                    {
                        echo '<tr class="record">';
                        echo '<td  style="border-left: 1px solid #C1DAD7">'.$row['fname'].' '.$row['mname'].' '.$row['lname'].'</td>';
                        echo '<td><div align="left">'.$row['idnumber'].'</div></td>';
                        echo '<td><div align="left">'.$row['work'].'</div></td>';
                        echo '<td><div align="left">'.$row['gender'].'</div></td>';
                        echo '<td><div align="left">'.$row['status'].'</div></td>';
                        echo '<td><div align="left">'.$row['bday'].'</div></td>';
                        echo '<td><div align="center"><a rel="facebox" href="editcprofile.php?id='.$row['id'].'" title="Click To Edit">Edit Profile</a> | <a href="#" id="'.$row['id'].'" class="delbutton" title="Click To Delete">delete</a></div></td>';
                        echo '</tr>';
                    }
                ?> 
            </tbody>
        </table>
</div>  
<script src="js/jquery.js"></script>
  <script type="text/javascript">


$(function() {

$(".delbutton").click(function(){

//Save the link in a variable called element
var element = $(this);

//Find the id of the link that was clicked
var del_id = element.attr("id");

//Built a url to send
var info = 'id=' + del_id;


 if(confirm("Sure you want to delete this update? There is NO undo!"))
          {

$.ajax({ type: "GET", Data:{id:del_id} url: "deletecasher.php", data: info, success: function(){

} });

         $(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
        .animate({ opacity: "hide" }, "slow");

 }

return false;

});

});
</script>
</body>
</html>

deletecasher.php

<?php

// This is a sample code in case you wish to check the username from a mysql db table
include('../connect.php');
if($_GET['id'] && is_int($_GET['id'])
{
$id = (int) $_GET['id'];
 $sql = "delete from casher where id='$id'";
 mysql_query( $sql);
}

?>

任何带有示例的输入表示赞赏

【问题讨论】:

  • 试试data: {id: del_id}
  • 清理你的 php 文件!
  • 定义“不做任何事情”。它会发出 AJAX 请求吗?请求中是否存在预期值?此外,您应该知道您的代码对 SQL 注入攻击完全开放
  • 你昨天问了同样的问题。 stackoverflow.com/questions/19076396/…
  • 您的问题到底是什么?您是否从帖子中获取数据?你得到一个mysql错误吗?什么?

标签: javascript php jquery mysql


【解决方案1】:

题外话:我建议你这样做以避免 SQL 注入:

if($_GET['id'] && is_int($_GET['id'])
{
$id = (int) $_GET['id'];

【讨论】:

  • 感谢您的回复我已经对代码进行了编辑但仍然不会删除...或删除链接不会将我链接到任何地方,
【解决方案2】:

尝试删除删除按钮上的 href="#" 看看是否调用了删除功能!

【讨论】:

    【解决方案3】:

    您没有将 id 传递给您的 php 文件。请使用 ajax 调用的 data 属性。将此代码用于 ajax。

    $.ajax({ 类型:“获取”, 数据:{id:del_id} url: "deletecasher.php", 数据:信息, 成功:函数(){

    } });

    【讨论】:

    • 他是:var info = 'id=' + del_id;
    • 抱歉缩进。我在手机上。
    猜你喜欢
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    • 2018-07-17
    相关资源
    最近更新 更多