0

我的身份证前有空格?

当它回来我得到这个?

&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() 函数中包含了几行文件。一旦我将这些包含移动到一个新函数中并相应地调用它,它就解决了这个问题。也感谢马丁为您提供明确的解决方案:)。

4

2 回答 2

1

您可能在代码中输出了一些空格,例如includes/db.php

我的建议是永远不要在文件末尾关闭 PHP 代码。这是不必要的,只会制造麻烦

于 2012-07-12T09:26:03.707 回答
0

试试这个,它不是解决方案,而是一种解决方法!

$('.success').slideDown('slow');  
    setTimeout(function(){window.location="user.php?v=single&id="+$.trim(data);}, 3000);            
}   

它使用 jQuerytrim函数来删除前后的空格。它应该可以解决问题。

要真正修复它,你可以做一些其他的事情:

选项1

将 ID 作为 json 字符串返回,因此空格不可见。

选项 2

检查您的文件是否有回显空间,或者有时可能在不需要的地方关闭 php 标记,并在结果中回显空格。

于 2012-07-12T09:27:06.073 回答