2010-07-17 5 views
1

Je déteste les situations, quand je ne peux pas expliquer le comportement du compilateur. Alors aidez-moi s'il vous plaît à comprendre, comment c'est possible ...img, src vide influence sur php travaillant dans IE?

J'ai deux fichiers php - index.php, et admin.php. dans index.php i faire de l'enregistrement et la vérification captcha, et si elles sont correctes, je définir la valeur de session variable somevalue, (au début, il a uneautrevaleur) et rediriger le client vers admin.php où le CMS est! Et maintenant, quel est le problème, j'ai un module admin.php qui a un élément img, src dont je produis quand il a cliqué (en utilisant jquery ...), mais tout d'abord il a src vide

<img src="" /> et à cause de cela, je perds la nouvelle valeur de la variable de session (il devient une autre valeur encore). IL arrive seulement dans IE! MAIS si je mets n'importe quelle valeur à l'attribut src, cela fonctionne très bien !!!

<img src="some.jpg" /> works fine

aide me plaît à understund un tel comportement

+0

comment générer le src, postez du code aussi s'il vous plaît. – Sarfraz

+0

il fait jquery demande .post, et obtenir le src de DB, mais ce n'est pas important, même lorsque je supprime toutes les fonctions de jquery, mais toujours l'attribut src ** vide **, il supprime la valeur de «session»! Je perds 3 heures, jusqu'à ce qu'un tel bogue soit corrigé :( – Simon

Répondre

5

L'URI "" décide de l'URI en cours. Le navigateur essaie donc de charger la page en cours en tant qu'image (et tout le PHP associé est à nouveau exécuté).

Ne pas définir d'images avec un attribut src vide.

+0

Merci, Merci, Thansk :) – Simon

+0

en effet, pourquoi ne pas utiliser un data: // uri comme un espace réservé temporaire – nathan

+1

Si vous n'avez pas de src, alors don ' t avoir un img. Si vous voulez en ajouter dynamiquement, ajoutez l'image entière. – Quentin

2

Si l'attribut src est vide, IE envoie une requête au répertoire dans lequel se trouve la page en cours. Comme ceci est probablement géré par index.php, il semblerait que c'est le script responsable de la modification de la variable de session. Longue histoire courte: n'utilisez pas un attribut src vide.