我为学生的学校网站创建了一个简单的标记系统。现在标记系统工作正常,我现在还必须将标签保存在具有相应文章ID的通知表中,以便稍后通知学生他们已经标记了哪些文章,即使我设法做了。但是现在,如果你想在删除标签的同时在键入文章的同时删除标签,则不需要标记该人,那么第一个put标签也会在db中更新。
// ajax代码(attach.php)
<?php
include('config.php');
if(isset($_POST))
{
$u=$_POST['v'];
mysql_query("INSERT INTO `notify` (`not_e`) VALUES ('$u')");
}
?>
// tagsystem js code
<script type="text/javascript">
var id = '<?php echo $id ?>';
$(document).ready(function()
{
var start=/%/ig;
var word=/%(\w+)/ig;
$("#story").live("keyup",function()
{
var content=$(this).text();
var go= content.match(start);
var name= content.match(word);
var dataString = 'searchword='+ name;
if(go.length>0)
{
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
if(name.length>0)
{
$.ajax({
type: "POST",
url: "boxsearch.php",
data: dataString,
cache: false,
success: function(html)
{
$("#msgbox").hide();
$("#display").html(html).show();
}
});
}
}
return false();
});
$(".addname").live("click",function()
{
var username=$(this).attr('title');
$.ajax({
type: "POST",
url: "attach.php",
data: {'v': username},
});
var old=$("#story").html();
var content=old.replace(word,"");
$("#story").html(content);
var E="<a class='blue' contenteditable='false' href='profile2.php?id="+username+"'>"+username+"</a>";
$("#story").append(E);
$("#display").hide();
$("#msgbox").hide();
$("#story").focus();
});
});
</script>
答案 0 :(得分:0)
看起来您的问题出现在php代码中的if语句中: 即使$ _POST ['v']为空,sql仍然被执行。
来自另一个帖子的引用:
” 使用!empty而不是isset。对于$ _POST,isset返回true,因为$ _POST数组是超全局的并且始终存在(设置)。
或者更好地使用$ _SERVER ['REQUEST_METHOD'] =='POST' “
或者在我看来。 只需加上
if ($_POST['v']){
//sql query
}
希望它有所帮助;)
答案 1 :(得分:0)
<?php
include('config.php');
$u = $_POST["v"];
//echo $a;
if($u != '')
{
mysql_query("your insert query");
}
else
{
}
?>