Datenschutzerklärung

php.func in xhtml-output

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / HTML und XHTML-Forum /

php.func in xhtml-output

  Beitrag schreiben
Autor
Beitrag Seiten: 1
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
hallo,
bekomme dieses teil einfach nicht xhtml-konform

        function getShippingLink() {
        return ' '.SHIPPING_EXCL.'<script type="text/javascript">document.write(\'<a href="javascript:newWin=void(window.open(\\\''.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'\\\', \\\'popup\\\', \\\'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400\\\'))">'.SHIPPING_COSTS.'</a>\');</script><noscript><a href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'"target=_blank">'.SHIPPING_COSTS.'</a></noscript>';
    }

im html output sieht es dann so aus
(incl. 20 % MWST exkl.Versandkosten)

im source sieht es so aus
(incl. 20 % MWST exkl.<script type="text/javascript">document.write('<a href="javascript:newWin=void(window.open(\'http://www.dasauto.at/shop/popup_content.php?coID=1\', \'popup\', \'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400\'))">Versandkosten</a>');</script><a href="javascript:newWin=void(window.open('http://www.dasauto.at/shop/popup_content.php?coID=1', 'popup', 'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400'))">Versandkosten</a><noscript><a href="http://www.dasauto.at/shop/popup_content.php?coID=1"target=_blank">Versandkosten</a></noscript>)

und der validator sagt
Error  Line 188, Column 446: document type does not allow element "a" here.
&#8230;zable=yes, height=400, width=400\'))">Versandkosten</a>');</script><noscript>

falls jemand eine idee hat - bitte danke

Beitrag geändert von xxtita (14.03.2008 19:42:26)


14.03.2008 19:30:50
  Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hi,
da schau her ;-) http://www.validome.org/doc/HTML_ge/htm ... ript_style


_______________________________________
mfg
Thomas Mell

www.validome.org

14.03.2008 19:56:50
  Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
oida,
super, danke


14.03.2008 20:13:07
  Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
irgendwo ist noch ein sytaxfehler


        function getShippingLink() {
       return ' '.SHIPPING_EXCL.'
   <script type="text/javascript">
   /* <![CDATA[ */
   document.write(\'<a href="javascript:newWin=void(window.open(\\\''.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'\\\', \\\'popup\\\', \\\'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400\\\'))">'.SHIPPING_COSTS.'</a>\');</script>
  <noscript><a href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'"target=_blank">'.SHIPPING_COSTS.'</a></noscript>';
       /* ]]> */
   }


15.03.2008 10:24:52
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hallo,

sorum würde es sicher besser funktionieren...

function getShippingLink() {
       return ' '.SHIPPING_EXCL.'
   <script type="text/javascript"> /* <![CDATA[ */
   document.write(\'<a href="javascript:newWin=void(window.open(\\\''.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'\\\', \\\'popup\\\', \\\'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400\\\'))">'.SHIPPING_COSTS.'</a>\');
   /* ]]> */ </script>
   <noscript><a href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'"target=_blank">'.SHIPPING_COSTS.'</a></noscript>';
   }

Greetings, Chiaki

Beitrag geändert von Chiaki (15.03.2008 12:29:01)


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

15.03.2008 12:27:59
http://www.rfc1855.net/ Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
der <script>-teil passt und wird validiert
bloß beim <noscript>teil meckert der validator noch


15.03.2008 15:56:10
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hallo,

wird das <script><noscript>-Gebilde denn auch innerhalb eines Block-Elementes
eingefügt, und nicht nur einfach gleich nach <body> oder gar innerhalb von <head>?
Ohne genauere Angaben kann man da nix groß zu sagen, die Validome-Meldung
repektive etwas mehr Sourcecode/ein Link wären hilfreich...

Greetings, Chiaki

Edit by Chiaki:

änder das <noscript> mal probehalber noch sorum ab:
<a href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'" target="_blank">'.SHIPPING_COSTS.'</a>
... dann sind die ="" richtig gesetzt und zumindest das wäre i.O.

Beitrag geändert von Chiaki (15.03.2008 16:03:59)


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

15.03.2008 16:00:57
http://www.rfc1855.net/ Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
http://www.dasauto.at/shop/index.php?cat=c17481

hmmh, sehe gerade, weil du es gesagt hast, das es in einem span-tag liegt

bzw. source
<div class="productPreviewSplitLine"></div>
-->
<div class="pro_01">
    <div style="float: left; padding-right: 15px; display: table;"><a href="http://www.dasauto.at/shop/product_info.php?info=p872_GEN-Y---Jeans-DY-273.html"><img src="images/product_images/thumbnail_images/872_0.jpg" alt="GEN Y - Jeans DY 273" class="productImageBorder"></a></div>    <div style="display: table;">
        <div style="margin: 0px 0px 3px; padding: 0px; font-size: 14px;"><strong><a href="http://www.dasauto.at/shop/product_info.php?info=p872_GEN-Y---Jeans-DY-273.html">GEN Y - Jeans DY 273</a></strong></div>
        <div style="margin: 0px; padding: 0px; font-size: 13px;"></div>
        <div style="margin: 0px 0px 5px; padding: 0px;"><span style="font-size: 14px;"><strong> ab   64,00 EUR</strong></span>&nbsp;<span style="font-size: 11px;">(incl. 20 % MWST exkl.
   <script type="text/javascript"> /* <![CDATA[ */
   document.write('<a href="javascript:newWin=void(window.open(\'http://www.dasauto.at/shop/popup_content.php?coID=1\', \'popup\', \'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400\'))">Versandkosten</a>');
   /* ]]> */ </script><a href="javascript:newWin=void(window.open('http://www.dasauto.at/shop/popup_content.php?coID=1', 'popup', 'toolbar=0, scrollbars=yes, resizable=yes, height=400, width=400'))">Versandkosten</a>

   <noscript>
   <a href="http://www.dasauto.at/shop/popup_content.php?coID=1"target=_blank">Versandkosten</a>
   </noscript>)</span></div>
        <div style="margin: 0px; padding: 0px;"><a href="http://www.dasauto.at/shop/product_info.php?info=p872_GEN-Y---Jeans-DY-273.html"><img src="templates/GreenValvet/buttons/german/button_product_more.gif" alt="Details" border="0"></a></div>
    </div>
    <div style="clear: both;"></div>
</div>


15.03.2008 16:06:35
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95
Hallo,

also zuerst mal solltest du eine gültige Angabe zur Zeichenkodierung einfügen, weil...

No encoding declaration found within this XHTML document.
However the validator found a Meta element containing some information
concerning encoding (iso-8859-15).
This kind of encoding declaration will be not processed within XHTML documents,
it is useful for downward compatibility to HTML.
Please add either a XML declaration containing a encoding information at the very
beginning of your document (z. B. <?xml version="1.0" encoding="iso-8859-15"?>,
or prompt your server to send an appropriate HTTP-Header (example for PHP users:
header('Content-Type: text/html; charset=iso-8859-15');).
As no valid encoding declaration found, your document was processed
via fallback to UTF-8.


Fatal Error
Unexpected char in row 24 and column 76;
this char is not allowed within charset (utf-8) that you use.

Und dann noch - wie oben reineditiert - das <noscript> ändern, und zwar auf...

<a href="'.xtc_href_link(FILENAME_POPUP_CONTENT, 'coID='.SHIPPING_INFOS).'" target="_blank">'.SHIPPING_COSTS.'</a>


Greetings, Chiaki


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

15.03.2008 16:17:56
http://www.rfc1855.net/ Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
das ganze ist ein xtcommerce shop - und ich habe echt wenig ahnung von php
nur aufgrund der codeschnipsel kann ich mir aus php etwas zusammendenken
aber im grunde gesagt - keine ahnung von php
zumindest im w3c ist die seite jetzt valide
im validome habe ich es auch gecheckt, aber wen ich die richtige deklaration lt. validome im header.php eingebe meckert irgendeine abfrage
werds aber weiter versuchen

vielen dank
wennst was brauchst - gerne

bei eingabe von <?xml....?> vor der doctype
kommt die meldung
Parse error: syntax error, unexpected T_STRING in /var/www/web13/html/shop/includes/header.php on line 31

ah, so funktioniert es bei php-ausgabe
<?php echo '<?xml version="1.0" encoding="iso-8859-15"?>'; ?>

Beitrag geändert von xxtita (15.03.2008 19:32:58)


15.03.2008 16:22:29
  Zitieren
dkdenz
Administrator

Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
Hi

Probier's mal so:
<?php echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n"; ?>

Viel Spaß noch...


_______________________________________
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol

15.03.2008 19:29:09
http://dkmd.de | http://dkdenz.de Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
jetzt ist der shop schon fast komplett valide
bis auf 2 dinge
auf den produktseiten wie z.b.

http://www.dasauto.at/shop/product_info.php?info=p895_Lackspray-und-Klarlack-mit-Spraymaster-gratis.html

schreibt der xtcommerce 2 leerzeilen am anfang der seite - was nicht valide ist.
und 2. beim lackschaden ratgeber

http://www.dasauto.at/shop/index.php?cPath=2372

wandelt der editor (fckeditor) im backend die & in valide& um. (beim link zum produkt mit dem warenkorb dahinter). im FF bei Auswahl-Quelltext werden auch valide& angezeigt. im gesamten quelltext und zum validieren werden aber wieder unvalide& ausgegeben.
schade. wäre schon soweit. sogar die youtube videos sind valide.

falls jemand dafür auch noch eine idee hat ...
lg

Beitrag geändert von xxtita (15.03.2008 19:41:12)


15.03.2008 19:40:09
  Zitieren
Chiaki
Mitglied

Ort: Germany (81825)
Registriert: 23.12.2007
Beiträge: 95

xxtita schrieb:

bei eingabe von <?xml....?> vor der doctype kommt die meldung
Parse error: syntax error, unexpected T_STRING in /var/www/web13/html/shop/includes/header.php on line 31

Setze in der obersten .htaccess oder besser noch php.ini (falls Zugriff) folgende Zeile:

Code:

php_flag asp_tags 0
php_flag short_open_tag 0

... und du kannst mit <?php und <?xml ganz nach Belieben herumwerfen.

Was die & angeht... Versuche alle & durch ; zu ersetzen, und notiere in der
.htaccess oder besser php.ini (falls Zugriff) noch folgende Zeilen:

Code:

php_value arg_separator.output ';'
php_value arg_separator.input ';'

... dann is das Problem mit den &/&amp; komplett vom Tisch.

Was die Leerzeilen angeht: Möglicherweise irgendwo eine include()/require() Anweisung,
die eine Datei mit weiterem PHP-Code einfügt, bei der irgendwas ausgegeben wird.
Kann man von hier aus nicht prüfen, mußt du selber mal alle mit include/require
eingefügten .php / .inc /.tpl -Dateien vor <?xml durchgehen...

Greetings, Chiaki


_______________________________________
Make sure You've read RFC 1855, before sending electronic mail,
start Chats, posting on Newsgroups or leave any Comments.
RFC 1855: Netiquette Guidelines <http://www.rfc1855.net/>

15.03.2008 20:14:11
http://www.rfc1855.net/ Zitieren
xxtita
Mitglied

Registriert: 14.03.2008
Beiträge: 8
ok,
ah, so funktioniert es bei php-ausgabe
<?php echo '<?xml version="1.0" encoding="iso-8859-15"?>'; ?>

die &amp; konnte ich lösen mit

function NoEntities($Input) {
    $TransTable1 = get_html_translation_table (HTML_ENTITIES);
    foreach($TransTable1 as $ASCII => $Entity) {
        $TransTable2[$ASCII] = '&#'.ord($ASCII).';';
    }
    $TransTable1 = array_flip ($TransTable1);
    $TransTable2 = array_flip ($TransTable2);
    return strtr (strtr ($Input, $TransTable1), $TransTable2);
}
function AmpReplace($Treffer) {
    return $Treffer[1].htmlentities(NoEntities($Treffer[2])).$Treffer[3];
}
$tpl_output = preg_replace_callback("/(<a[^>]*href=\"|<form[^>]*action=\")(.*)(\"[^<]*>)/Usi","AmpReplace",$tpl_output);
$tpl_output = preg_replace_callback("/(<a[^>]*href='|<form[^>]*action=')(.*)('[^<]*>)/Usi","AmpReplace",$tpl_output);

gesehen auf http://www.ecombase.de/forum/index.php?showtopic=2900&hl=
und bei den beiden leerzeilen muß ich noch lange suchen

danke vielmals für alles


15.03.2008 21:27:31
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01