我在我的身份之前得到空格?
什么时候回来我得到了这个?
&id=%20%20%20%20%20%20%20%20%20%20%20%201005
它应该只是这样做
&id=1005
可能是我的jquery数据代码吗?
success: function(data) {
$('.success').slideDown('slow');
setTimeout(function(){window.location="user.php?v=single&id="+data;}, 3000);
}
或者它可能是php代码吗?
<?php
include 'includes/db.php';
protect();
if(isset(clean($_POST['uid']))) {
$usrid=$_SESSION['uid'];
$insertNewUser=mysql_query("INSERT INTO users (uid,status,datetime) VALUES ('$usrid','0',NOW())") or die(mysql_error());
$id=mysql_insert_id();
echo $id;
$insertUserOptions=mysql_query("INSERT INTO users_options (uid,lid) VALUES ('$usrid','$id')") or die(mysql_error());
mkdir('media/listings/'.$id,0755);
mkdir('media/listings/'.$id.'/photos',0755);
mkdir('media/listings/'.$id.'/documents',0755);
mkdir('media/listings/'.$id.'/video',0755);
mkdir('media/listings/'.$id.'/audio',0755);
chmod('media/listings/'.$id,0775);
chmod('media/listings/'.$id.'/photos',0775);
chmod('media/listings/'.$id.'/documents',0775);
chmod('media/listings/'.$id.'/video',0775);
chmod('media/listings/'.$id.'/audio',0775);
}
?>
更新:
id前面的所有字符都是因为我在protect()函数中包含了几行文件。一旦我将这些包括移动到一个新功能并相应地调用它修复了问题。感谢马丁为您提供明确的解决方案:)。
答案 0 :(得分:1)
您可能在代码中输出了一些空格,例如在includes/db.php
我的建议是永远不要在文件末尾关闭PHP代码。这是不必要的,只会造成麻烦
答案 1 :(得分:0)
试试这个,它不是解决方案,而是一种解决方法!
$('.success').slideDown('slow');
setTimeout(function(){window.location="user.php?v=single&id="+$.trim(data);}, 3000);
}
它使用jQuery trim
函数删除之前和之后的空格。应该这样做。
要实际 修复 ,您可以做其他一些事情:
选项1
将ID作为json字符串返回,因此空格不可见。
选项2
检查文件中是否有回显空格,或者有时可能会关闭不需要的php标记,并在结果中回显空格。