2012-07-12 4 views
0

Im obtenir des espaces vides avant mon ID?Espaces vierges dans mysql_insert_id(); retour

quand il revient, je comprends?

&id=%20%20%20%20%20%20%20%20%20%20%20%201005 

son supposé faire juste ce

&id=1005 

pourrait-il être mon code de données jquery?

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

ou pourrait-il être le code 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); 
} 
?> 

MISE À JOUR:

tous les caractères de l'id Infront ont été parce que je annonce plusieurs lignes de fichier inclut dans la fonction de protection(). Une fois que j'ai déplacé ces inclus dans une nouvelle fonction et appelé cela en conséquence, il a résolu le problème. Merci Martin pour votre solution claire aussi bien :).

Répondre

0

Essayez ceci, ce n'est pas une solution mais une solution de contournement!

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

Il est utilise la fonction jQuery trim pour supprimer les espaces avant et après. Cela devrait faire l'affaire.

Pour réellement fixer il vous pouvez faire quelques autres choses:

Option 1

Retourne l'ID comme une chaîne JSON, de sorte que les espaces ne sont pas visibles.

Option 2

Vérifiez vos fichiers pour les espaces d'écho ou peut-être parfois fermer la balise php où il est nécessaire et pas d'espaces echo'ing à votre résultat.

+0

C'est une réponse mais ne résout pas le problème. Il va frapper à nouveau ce problème à l'avenir. Pourquoi voudriez-vous utiliser des solutions de contournement à quelque chose de facile à résoudre? –

+0

C'est ce que j'ai dit au premier rang, donc pas de raison de me rabaisser. – Ronn0

+0

assez juste. Undownvoting –

1

Vous sont probablement outputing des espaces blancs dans votre code, par exemple dans includes/db.php

Ma recommandation est de ne jamais près du code PHP à la fin du fichier. C'est inutile et cela ne fait que créer des problèmes

+0

en vérifiant votre conseil maintenant – jonnypixel

+0

Je n'ai pas eu votre commentaire. Ma réponse est en fait une solution à beaucoup de problèmes –

+0

oh mon mauvais, ne voulait pas dire mon commentaire faux désolé :). Je voulais dire que je vérifiais la structure de mon fichier dans le php et ainsi de suite pour trouver où cela le provoquait réellement. Im enlever les balises php proches sur mon fichier de processus et aussi sur l'include. – jonnypixel

Questions connexes