Garip PHP çıktı yolsuzluk

3 Cevap php

Ben PHP sitelerinden birinde çok garip bir çıkış yolsuzluk yaşıyorum. Bazen, HTML kodu bir parça etiketleri yorumlanır ziyade, görüntülenir. Bazı karakterler, eksik etiketleri karıştırmasını gibi görünüyor. Ikinci hattı sadece c1 bir bağlantı olmalı, ama hedef URL nedeniyle nedense kısmı gösterilmiştir: Aşağıdaki örneğe bakın.

alt text

Sorun yenileme genellikle bunu çözer, geçicidir. Bu (her ne kadar sık ​​sık aynı yerde) sayfanın farklı bölgelerinde olabilir. Sadece Safari etkilenmiş görünüyor (ama nedeniyle daha hoşgörülü ayrıştırma sadece maskeleri sorun Firefox şüphelenen ediyorum). Bu gerçekleşme olasılığı değişir gibi görünüyor olsa da, canlı biri olarak, her ikisi de biraz farklı ayarlar (çıkış tamponlama, transferi chunked) var hem benim geliştirme sunucuda olur.

Hiç kimse böyle bir şey gördünüz mü?

EDIT

Bu sayfada Safari'de "Kaynağı Görüntüle", ben aşağıdaki HTML olsun:

<tr class="odd">
  <td>73</td>
  <td><a href="companies.php?view=1&amp;companyid=73&amp;return=%2Foffice%2Fcompanies.php">c1</a></td>
  <td></td>
  <td><img src='/images/dot_blue.png'  class="altTooltip" alt="inactive: no account"  /> </td>

Bu yanlış bir şey göremiyorum, bu yüzden kaynak için sorulduğunda Safari ya sayfayı yeniden gelmiştir, ya da ben yeterince sert bakmıyorum ...

3 Cevap

TinyMCE (bu dil dosyalarını ve uzatma modülleri yüklemek için kullanır) etiketleri ekleyerek olmuştur, görünüşte rastgele yerlerde inside kendi HTML at: Sonunda (Web Inspector kullanarak) sorun bulundu. Sonucu, bu benim ekran, gibi bir şey görünür durumda <a href="foo<script src="tinymce/lang/en.js">bar.php">foobar</a>.

Ben de aynı sayfada jQuery kullanıyorum beri, benim tahminim sonuçta DOM ve sadece görünen bir hata nedeniyle yarış durumu çeşit (sonuçlandı aynı anda oluyor TinyMCE eklemeleri için jQuery modifikasyonları ile neden idi ) Safari'de kendini gösterir.

Ben şimdi TinyMCE bir jQuery yapı kullanıyorum, ve tüm beri iyi olmuştur ...

Yardım için herkese teşekkürler!

Peki, burada karanlıkta benim atış.

Mola fi karakter kombinasyonundan sonra kelime "ofis" oluşur. Nasılsa - - sorun neden ben fi ligature olduğunu bahse girerim.

Tam olarak nasıl? HTML kod bağ karakterini ihtiva etmediğinden, bu Safari'de bir hata olabilir. Rastgele oluşur Özellikle beri. Eğer bu dosyayı yeniden adlandırın ve sorunu uzağa giderse görmek için deneyebilirsiniz?

Kolay ayrıştırma yapar çünkü geçerli HTML olması da, bu sorunu kaçınarak yardımcı olabilir.

Eğer bir HTML parçası ve görünümü kaynağını seçtiğinizde, ne elde var ne% 100 değildir. Örneğin, sizin ve 's tüm muhtemelen kusurlu metni seçilmiş ve seçimin kaynağını izlendi demektir, &amp; vardır.

Eğer hala sorun yaşıyorum şey seçmeden tüm kaynak kodunu inceleyen çalışıyor, ve sonra kod noktayı bulmak ve denemek ve bize büyük bir örnek değil, sadece kusurlu satır vermek için ctrl + f kullanarak, ama doğru ise satır, ve daha geniş bir bağlamda.

Tabloları kullanarak zaman Örneğin, bir kaybolma <td> çok garip sonuçlar doğurabilir, bu konuda bu tür gibi görünmüyor, ben sadece biz yardım edebilmek için bağlamı gerektiğini söylüyorum.

Bazı tarayıcılar, kaynağını görüntülemek için, aslında sayfayı yeniden ve ona ikinci bir kopyasını almak sorunu da var. Ben metin çıktısı oluyor kodu bir his var, bu yüzden bakmak ve bir şey gibi kullanıyorsanız görmek

<?= $someVar ?>

ve emin olun böyle değil olun:

<a href=<?= isset($x) ?'"'. $someVar.'"': '"'.$someOlderVar.'">'?>> xxx </a>

Yani, hiçbir selecty, ve daha büyük örnek lütfen. Ve biz prolly: Hatalı HTML çıktılar koddan bir şey gerekir ki ...