2012-10-05 198 views
1

我做了一个js函数,使用ajax从数据库中删除数据。它很基本的,但我想它之前,我添加任何工作,其他功能如下:通过ajax将信息传递给PHP

function removeAd(ad_id) { 

    $.post('remove.php', {id: ad_id}); 

}; 

我用PHP来构建一个页面并创建一个使用此功能链接:

<ul id='categoryorder'> 

<?php while ($item = mysqli_fetch_array($r)) { ?> 

<li id="advert_<?php echo $item['display_id'] ?>"><div class="<?php echo $item['ad_type']?>"><a href="javascript:removeAd('<?php echo $item['display_id'] ?>')" >Remove</a></div></li> 

<?php } ?> 

</ul> 

它建立的页面罚款并创建了JavaScript的HREF的div内删除链接:与ID为,涉及到该分区在数据库例如ID removeAd(ID):

<li id="advert_5"><div class="banner"><a href="javascript:removeAd('5')" >Remove</a></div></li> 

最后这应该送到remove.php脚本实际上从数据库中删除与该ID

<?php 

require ('Mysql_Connect.php'); 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $q = "DELETE FROM st_display WHERE display_id = {$_POST['id']}"; 
    $r = @mysqli_query ($dbc, $q); 

} 

?> 

我很新的条目,以便即时通讯很愿意被告知即时作出一个愚蠢的错误或者说这行不通!但任何帮助将不胜感激。

+5

,什么是不工作? – Weacked

+1

SQL注入警报! –

+0

它不安全,我知道但是,当我得到它的工作,并且它永远不会在互联网上发布,并且是内部使用 – Neil

回答

0

您的查询完美适用于优秀的SQL注入。
但是,这不是重要的,如果你试图做echo $q它返回的东西?
在您的$.post之前执行console.log(ad_id);以查看您是否也发送了数据。

+0

我认为做这样的事情,但remove.php文件是一个外部的,所以如果我回应任何它不会显示在即时通信的页面上它的功能会吗? – Neil

+0

你需要看开发人员模式!去网络,你会看到你的页面和返回 – Shadowbob

+0

或者你做$ .post('remove.php',{id:ad_id},function(r){console.log(r);});它会做的伎俩;-) – Shadowbob

0

你缺少;echo语句的结束,

<li id="advert_<?php echo $item['display_id']; ?>"><div class="<?php echo $item['ad_type']; ?>"><a href="javascript:removeAd('<?php echo $item['display_id']; ?>')" >Remove</a></div></li> 
+0

使用内联php做单个回声时不是问题。 '<?php回显“一些文本”?>'是有效的。 – MatthewMcGovern