Seite 1 von 1

bug bei linkcheck (%22)

Verfasst: Mo 4. Sep 2006, 15:08
von DocET
seit der umstellung von 4.6.2 auf 4.6.8 habe ich ein paar defekte links im xenu-linkchecker - welche aber im frontend korrekt dargestellt bzw. ausgeführt werden.

nun habe ich 2 fragen.

1. was bedeutet (%22)
2. wie kann ich die url bereinigen bzw. woran liegt das?

so sehen gerade manche urls im xenu aus:
http://www.meinedomain.de/%22front_content.php?idcat=22&idcatart=97\"

vielen dank vorab!

Verfasst: Mo 4. Sep 2006, 15:23
von Halchteranerin
Falls Du eine Contenido-Version kleiner als 4.6.8.5 einsetzt, solltest du auf diese Community-Version 4.6.8.5 updaten.

Verfasst: Mo 4. Sep 2006, 15:29
von DocET
ok werde ich tun - aber hast du eine idee?

Verfasst: Mo 4. Sep 2006, 15:33
von stese
das hat auf jeden fall was mit urlencode und urldecode zu tun - aber dass deine links so ausschauen hat wohl eher was damit zu tun, dass einige deiner module die links falsch rauslassen, denn ein %22 darf eigentlich nirgends VOR dem dateinamen stehen

Verfasst: Mo 4. Sep 2006, 15:38
von DocET
ich werd mir die module mal ansehen - wobei das für mich eher nicht in frage kommt da dies standard-module sind die so gut wie nicht modifiziert wurden. darüber hinaus begreife ich nicht warum dies auch nur bei ein paar urls passiert und nicht bei allen...

Verfasst: Di 5. Sep 2006, 13:04
von DocET
kann sein das ich mich jetzt nicht richtig ausdrücke - verzeiht mir...

herausgefunden habe ich das beim urlencode/decode %22 gleichzusetzen mit einem " ist

das modul besteht aus php und html
so z.b. <?php echo "<td class=\"text\">CMS_HTML[3]</td>";

wenn ich nun einen artikel bearbeite und an stelle CMS_HTML[3] wiederum html einfüge - kann es sein das hierbei ein " nicht geschlossen wird?

vielen dank vorab & sorry wegen der ausdrucksweise...

Verfasst: Mi 6. Sep 2006, 09:52
von php0815
DocET hat geschrieben:das modul besteht aus php und html
so z.b. <?php echo "<td class="text">CMS_HTML[3]</td>";
Darum schreibe ich den Code anders

Code: Alles auswählen

so z.b. <?php echo "<td class='text'>CMS_HTML[3]</td>";

Verfasst: Mi 6. Sep 2006, 14:04
von DocET
gut zu wissen - danke!

daran lags aber nicht...

hat jemand noch eine idee woran das liegen könnte?
danke vorab...

Verfasst: Mi 6. Sep 2006, 14:19
von Dodger77
DocET hat geschrieben:hat jemand noch eine idee woran das liegen könnte?
Nein. Es ist leider schwierig, das Problem anhand der bisherigen Informationen genau einzugrenzen. Es wäre schön, wenn du herausfinden könntest, welches Modul den Fehler erzeugt bzw. ob die Links im Text (z.B. mit dem TinyMCE eingefügt) stehen.

Ein Link zu der entsprechenden Seite brächte uns evtl. in die Lage mitzuraten, wo es klemmt.

Verfasst: Mi 6. Sep 2006, 14:33
von DocET
@ Dodger77 - ich habe dir soeben eine pm gesendet

Verfasst: Mi 6. Sep 2006, 15:54
von DocET
der inhalt wird über den html-editor des tinymace eingepfelgt.

der code für das content-modul sieht wie folgt aus:

Code: Alles auswählen

<table width="100%" border="0" cellspacing="0" cellpadding="0">
        <?php if ("CMS_HEAD[1]" != "") { ?>
<tr>
      <?php echo '<td class="box-content-headline"><h1>' . "CMS_HEAD[1]" . '</h1></td>'; ?>
</tr>
        <?php } ?>
        <?php if ("CMS_HTML[2]" != "") { ?>
<tr>
      <?php echo '<td class="box-content-subheadline"><h2>' . "CMS_HTML[2]" . '</h2></td>'; ?>
</tr>
        <?php } ?>
<tr>
      <?php echo '<td class="box-content-txt">' . "CMS_HTML[3]" . '</td>'; ?>
</tr>
      </table>

Verfasst: Mi 6. Sep 2006, 16:19
von Dodger77
Ich habe mir das nun nochmal kurz angeschaut. Es geht ja um die www.raumacht.de. Das von dir gepostete Modul hat mit dem Fehler gar nicht zu tun. Es liegt an dem Modul, das für die Druckversion zuständig ist. Was hat denn der HTML-Code im "value" eines Input-Elements zu suchen? Siehe hier:
<input name='print_text' type='hidden' id='print_txt' value='<p>Um Begriffe aus unserem täglichen Gebrauch verständlich zu machen haben wir in unserer Rubrik \"<a target=\"_self\" class=\"link-content\" href=\"/informationen.html">Informationen</a>\" ein Glossar zusammengestellt.</p> <p>Wir hoffen Ihnen damit den einen oder anderen Begriff, den Sie vielleicht schon einmal irgendwo gehört haben, aber nichts damit anzufangen wussten, auf kurze Art und Weise erklären zu können. Falls Sie dennoch Fragen zu einem Thema haben stehen wir Ihnen selbstverständlich jederzeit gerne persönlich zur Verfügung!</p> <p>Ihr raum acht Team</p>'>
Man sollte da wohl mal htmlentities() einsetzen.

Verfasst: Mi 6. Sep 2006, 16:27
von DocET
ok - danke!

hier der code inkl. druckversion:

Code: Alles auswählen

	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <?php if ("CMS_HEAD[1]" != "") { ?>
<tr>
      <?php echo '<td class="box-content-headline"><h1>' . "CMS_HEAD[1]" . '</h1></td>'; ?>
</tr>
        <?php } ?>
        <?php if ("CMS_HTML[2]" != "") { ?>
<tr>
      <?php echo '<td class="box-content-subheadline"><h2>' . "CMS_HTML[2]" . '</h2></td>'; ?>
</tr>
        <?php } ?>
<tr>
      <?php echo '<td class="box-content-txt">' . "CMS_HTML[3]" . '</td>'; ?>
</tr>
<tr>
        <?php if (!$contenido) { ?>
<form style='margin:0' name='drucken' id='drucken' method='POST' target='_blank' action='print.php'>
        <input name='print_headline' type='hidden' id='print_head' value='CMS_HEAD[1]'>
        <input name='print_subheadline' type='hidden' id='print_subhead' value='CMS_HTML[2]'>
        <input name='print_text' type='hidden' id='print_txt' value='CMS_HTML[3]'>
        <NOSCRIPT>
        <INPUT TYPE=SUBMIT VALUE="Go!">
        </NOSCRIPT>
        </FORM>
        <?php } else { ?>
        <?php } ?>
        <?php echo '<td class="box-content-link"><a href="javascript:document.forms[0].submit();void(0);" class="link"><img src="upload/images/global/arrow-default.gif" width="10" height="7" border="0" alt="">drucken</a></td>'; ?>
</tr>
      </table>
wie würdest du das dann lösen?

Verfasst: Mi 6. Sep 2006, 16:34
von Dodger77
DocET hat geschrieben:wie würdest du das dann lösen?
Hatte ich dazu nicht gerade einen Hinweis gegeben?

Aus:

Code: Alles auswählen

<input name='print_text' type='hidden' id='print_txt' value='CMS_HTML[3]'>
würde ich sowas hier machen:

Code: Alles auswählen

<input name='print_text' type='hidden' id='print_txt' value='<?php echo htmlentities("CMS_HTML[3]");?>'>
Ist natürlich nicht getestet.

Verfasst: Mi 6. Sep 2006, 16:45
von DocET
klasse - das wars!
vielen dank!