Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd przy validacji W3C
Forum PHP.pl > Forum > Przedszkole
wicher111
Witam, chodzi o to, że walidując stronę mam jeden błąd nie wiem jak sobie z nim poradzić
Błąd:
Line 712, Column 38: document type does not allow element "style" here
<style type="text/css" media="screen">

oto kod pliku xxx.php
Kod
<?php
/**
* @version        $Id: default.php 2011-08-04 14:10:00Z florek $
* @package        zacnystuff
* @copyright    Copyright (C) 2011 Lazy Gamer. All rights reserved.
* @license        GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

//jesli w templatce strony jest juz zainkludowany jQuery to wykomentuj te dwie linijki.
//jesli chcesz uzywac tego modulu na stronach nie-joomlowych to musisz zainkludowac ten pliczek recznie
//<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>

$doc =& JFactory::getDocument();
if($js) $doc->addScript("/modules/mod_lazyfacebook/js/jquery-1.4.4.min.js");

//ponizej kod do animowania boxa
//na stronach nie-joomlowych tez trzeba do dorzucic recznie
$js = "jQuery.noConflict();
        jQuery(document).ready(function($)
        {
            $('div#fb_container').hover(function()
                {
                    $(this).stop(true, false).animate({right:0}, 'fast');
                },
                function()
                {
                    $(this).stop(true, false).animate({right:'-206'}, 'slow');
                }
                ,500);
          });
";
$doc->addScriptDeclaration($js);
?>
<style type="text/css" media="screen">
.moduletable-fb
{
    position: absolute;
    top: 100px;
    right: 0;
    z-index: 99999;
}
div#fb_wrapper
{
    position: absolute;
    top: 100px;
    right: 0;
    z-index: 99999;
}
div#fb_container
{
    position: fixed;
    top: 100px;
    right: -206px;
    width: 244px;
    height: 372px;
    z-index: 99999;
    cursor: pointer;
}

img.fb_bg
{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

div#fb_container iframe
{
    position: absolute;
    top: 10px;
    left: 49px;
    z-index: 2;
}
</style>

<div id="fb_wrapper">
    <div id="fb_container">
    <img src="/modules/mod_lazyfacebook/images/fb.png" alt="Facebook"class="fb_bg" />
    <iframe
        src="http://www.facebook.com/plugins/likebox.php?href=<?php echo $url; ?>
                &amp;width=188
                &amp;colorscheme=light
                &amp;connections=9
                &amp;stream=false
                &amp;header=true
                &amp;height=382"
        scrolling="no"
        frameborder="0"
        style="float: right; border:none; overflow:hidden; width:188px; height:352px;">
    </iframe>
    </div>
</div>
_Borys_
Brak deklaracji dokumentu.
wicher111
przepraszam za swoja ociemniałość ale nie rozumiem
_Borys_
HTML <!DOCTYPE> Declaration
w twoim pliku walidator tego nie widzi i przez to błąd, nie ma punktu odniesienia według jakiego dokumentu to sprawdzać.
wicher111
jak wstawiłem tą deklarację wyskoczył kolejny błąd + poprzedni o takiej treści

"DOCTYPE" declaration not allowed in instance
Michasko
<!DOCTYPE> powinien być przed całym dokumentem. Przed tagiem <html>.
Jeśli chodzi o Twój błąd ze <style> - nie jestem pewien czy można style definiować w sekcji <body>.
wicher111
kurcze php zawsze u mnie kulał, w html-u zawsze starałem się wklejać w sekcji <head></head> style, pewnie w php też tak powinno być. Wobec tego rozumiem, że musze dodać deklarację, tagi html, sekcję head, a w niej style no i body, gdzie wrzucę resztę, spróbuję
_Borys_
A tak nawiasem mówiąc co to za walidacja "surowego" pliku php, uruchom na serwerze plik, wyświetl w przeglądarce, skopiuj źródło strony i potem możesz walidować html, i jak jakieś błędy będą to poprawiaj w plikach php odpowiednie funkcje odpowiedzialne za tworzenie html-a.
wicher111
to może ja podam adres strony chodzi o walidację wyłącznie strony startowej walidatorem W3C, sztuka dla sztuki ale taki wymóg
Michasko
Misiaczku, jak puścisz to przez walidator to masz wszystko ładnie napisane.
Cytat
The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

W skrócie - style muszą być w sekcji head.
wicher111
hehe wiem, no ale dobra w pliku php (default.php) w którym jest ten nieszczęsny wpis dodałem deklarację jak sugerowano, tagi html, sekcję head w nim style no i body no to mi się wtedy dopiero posypały errory - 18, no to poźniej wynioslem styl do pliku css i podlinkowałem w sekcji head, to troche mnie errorów, nie wiem opadają mi ręce, bardzo proszę o poprawę kodu który wstawiłem na poczatku bo nie wiem co ja tam źle robię, wiem, że ide na łatwiznę ale już chyba newry mi puszczają, przepraszam, z góry dziekuję

a jak wstawiłem sekcję head i dodałem tam styl też nie hula :-(
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.