Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, έχω φτιάξει ένα div container στο οποίο έχω βάλει όλα τα υπόλοιπα div (header, leftmenu, rightmenu, mainwindow, footer). Το container στη φωτογραφία έχει το πράσινο χρώμα. Όσο η σελίδα μου είναι html όλα φαίνονται οκ. Όταν την κάνω όμως php και σπάω τα header, leftmenu, rightmenu, mainwindow, footer σε ξεχωριστά php αρχεία και τα κάνω include, κάτω από το header εμφανίζεται λίγο από το container χωρίς κανένα λόγο και επίσης το leftmenu πάει λίγο πιο πάνω...

το dreamweaver στο design δε μου δείχνει αυτή την ατέλεια, μόνο στους browsers.

 

Αν μέσα από τον browser σβήσω εκεί που βλέπετε τα "" το πρόβλημα διορθώνεται, αλλά μέσα από το php δε μπορώ να βρω κάτι.

 

 

capturenh.png

Δημοσ.

Συνήθως όταν κάτι τέτοιο περίεργο συμβαίνει τότε μάλλον η HTML σελίδα έχει "σπασμένο" markup. Αν το markup το φτιάχνει κάποιο php script, τότε δες εκεί μήπως κάτι δεν "κλείνει" σωστά.

Δημοσ.

:-) το html που παράγεται.

 

Αν κάνεις δεξί κλικ θα δεις μία επιλογή "view page source". Για να δεις αν έχει λάθη, κάντο copy paste σε ένα html αρχείο και αν το ανοίηξεις με Dreamweaver θα σου δείξει τυχόν λάθη που υπάρχουν.

 

 

Δημοσ.

η προβολή του κώδικα εμφανίζει το εξής

 

<div id="header"></div>?<div id="leftsidebar">

 

αυτό το ερωτηματικό ανάμεσα στα div το κάνει κάτι από τα include της php

 

EDIT το ερωτηματικό δεν εμφανίζεται απευθείας στον κώδικα που παράγει ο browser, αλλά αφού τον κάνω paste σε κάποιον editor

 

ουσιαστικά αυτό έχω μέσα στην php

><?php  include('header.php'); ?> 
<?php  include('leftmenu.php'); ?> 
<?php  include('rightmenu.php'); ?> 
	
   <div id="MainWindow"> 
   	<div id="test">
       </div>
   	<div id="MainWindowTitle">
     		<h1 >Νέες Κυκλοφορίες</h1>
   </div>
   </div>

<?php  include('footer.php'); ?> 

Δημοσ.

Κοιτώντας λίγο το printscreen από το αρχικό post θα έλεγα να μεταφέρεις τα <title>, <meta>, <link> tags στο <head>. Αυτή τη στιγμή βρίσκονται μέσα στο body, ενώ είναι elements που πρέπει να βρίσκονται στο <head>.

 

Εφόσον όταν έχεις το html όλα φαίνονται σωστά, άρα κάτι χαλάει όταν αρχίζεις να χρησιμοποιείς τα php αρχεία. Για αρχή, δοκίμασε να φτιάξεις μόνο το header.php αρχείο και δες αν σπάει η σελίδα και αν εμφανίζονται τα περίεργα " όταν χρησιμοποιείς τα dev tools. Αν φαίνονται όλα ok, φτιάξε και κάποιο άλλο αρχείο php μέχρι να βρεις ποιο έχει το πρόβλημα.

 

Αυτό που είπες πως το ? εμφανίζεται μόνο αν το κάνεις paste σε κάποιον άλλον editor μου μοιάζει σαν πρόβλημα με encoding. Σιγουρέψου λοιπόν πως όλα τα php αρχεία είναι όντως αποθηκευμένα με UTF-8 encoding.

Δημοσ.

Κοιτώντας λίγο το printscreen από το αρχικό post θα έλεγα να μεταφέρεις τα <title>, <meta>, <link> tags στο <head>. Αυτή τη στιγμή βρίσκονται μέσα στο body, ενώ είναι elements που πρέπει να βρίσκονται στο <head>.

 

Εφόσον όταν έχεις το html όλα φαίνονται σωστά, άρα κάτι χαλάει όταν αρχίζεις να χρησιμοποιείς τα php αρχεία. Για αρχή, δοκίμασε να φτιάξεις μόνο το header.php αρχείο και δες αν σπάει η σελίδα και αν εμφανίζονται τα περίεργα " όταν χρησιμοποιείς τα dev tools. Αν φαίνονται όλα ok, φτιάξε και κάποιο άλλο αρχείο php μέχρι να βρεις ποιο έχει το πρόβλημα.

 

Αυτό που είπες πως το ? εμφανίζεται μόνο αν το κάνεις paste σε κάποιον άλλον editor μου μοιάζει σαν πρόβλημα με encoding. Σιγουρέψου λοιπόν πως όλα τα php αρχεία είναι όντως αποθηκευμένα με UTF-8 encoding.

 

Μέσα στο <head> τα έχω τα tags κι όμως ο browser τα εμφανίζει μέσα στο body!

Επίσης πριν από το πρώτο include που είναι το include('header.php'); είχα ένα javascript το οποίο το έβαλα μέσα στο body. Ύστερα από αυτό, το κενό που βρισκόταν ανάμεσα στο leftmenu και στο header έφτιαξε, αλλά παρέμεινε το κενό ανάμεσα στο main και το header.

 

Δοκίμασα να έχω μόνο include το header και δεν υπήρχε κανένα πρόβλημα. Όταν το έφτιαξα να κάνει include και το leftmenu που είναι στη συνέχεια, τότε εμφανίστηκε πάλι το κενό. Μήπως είναι κάποιο μήνυμα της php που πρέπει να απενεργοποιήσω; Διαφορετικά δε μπορώ να βρω κάποιο λάθος στον κώδικά μου...

 

(άλλαξα σε utf8 την κωδικοποίηση της php για καλό και για κακό)

Δημοσ.

Να πω ότι τα head και body tags τα έχω βάλει στο αρχικό php, όπου κάνω include τα header, leftmenu, rightmenu και footer αντί να τα έχω στα αντίστοιχα include και τώρα φαίνονται σωστά τα tags του head. Eπίσης έχω κάνει το ίδιο για το container div.

 

a.html

 

να και το αποτέλεσμα με το container μέσα στο αρχικό php, εμφανίζεται και στην αρχή της σελίδας, και ανάμεσα στο header με το mainwindow όπως φαίνεται και μεταξύ του main με το footer.

 

captureqfx.png

 

capturetkw.png

Δημοσ.

Λοιπόν, το markup είναι μια χαρά. Δεν έχει κάποιο πρόβλημα, τα tags ανοίγουν και κλείνουν σωστά.

 

Αυτό που παρατήρησα είναι πως αφού άνοιξα το a.html αρχείο παρατήρησα κάποια κενά ανάμεσα σε μερικά divs που δεν θα έπρεπε να υπάρχουν. Είναι τα " που δείχνει ο Chrome, ο FF δείχνει λευκούς χαρακτήρες. Άνοιξα και τη σελίδα σε IE9 και μου βγήκε ένα μήνυμα πως κάποια Active scripts που υπάρχουν στη σελίδα έγιναν block. :huh: Βέβαια η σελίδα δεν έχει κάποιο activex.

 

Για αυτό έκανα copy paste το html σε ένα notepad ώστε να κάνω ένα cleanup του κώδικα και να μου μείνουν μόνο το text. Και είδα πως στα σημεία που εμφανίζονται αυτά τα περίεργα κενά στο notepad ο HTML κώδικας βγαίνει με άλλη γραμματοσειρά!!! :wacko:

 

viewhtmlfromnotepad.png

 

Άρα μάλλον υπάρχουν κάποιοι περίεργοι χαρακτήρες που δημιουργούν αυτό το πρόβλημα!

 

Οπότε σβήσε τα κομμάτια HTML που είναι προβληματικά με στόχο να σβήσεις και τους "περίεργους" χαρακτήρες και πληκτρολόγησε τα ξανά. Λογικά έτσι θα στρώσει η σελίδα.... :-)

Δημοσ.

Όντως αυτό που λες με τη διαφορετική γραμματοσειρά ισχύει όταν κάνω paste τον κώδικα από το παραγόμενο html. Όταν όμως ανοίγω με το notepad ή το notepad++ τον κώδικα απευθείας από το αρχείο που το έχω αποθηκευμένο η γραμματοσειρά είναι κανονική! :mad:

 

ΤΟ ΕΞΤΙΑΞΑ ΕΠΙΤΕΛΟΥΣ! τελικά έφταιγε το ότι έκανα UTF8 κωδικοποίηση αλλά με BOM. Έπρεπε να βγάλω το BOM μέσω του editor. Μου έφαγε απίστευτα πολλές ώρες να το βρω...

 

Ευχαριστώ πολύ για τη βοήθεια και για το χρόνο σου!!! :-)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...