bug bei linkcheck (%22)

Gesperrt
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

bug bei linkcheck (%22)

Beitrag 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!
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag 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.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag von DocET »

ok werde ich tun - aber hast du eine idee?
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag 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
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag 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...
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag 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...
php0815
Beiträge: 373
Registriert: Mi 26. Okt 2005, 12:12
Wohnort: Schwarzwald
Kontaktdaten:

Beitrag 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>";
In der Ruhe liegt die Kraft den wer suchet der findet
Wer Rechtschreibfehler findet kann sie behalten, Codefehler können gemeldet werden.
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag von DocET »

gut zu wissen - danke!

daran lags aber nicht...

hat jemand noch eine idee woran das liegen könnte?
danke vorab...
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag 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.
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag von DocET »

@ Dodger77 - ich habe dir soeben eine pm gesendet
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag 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>
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag 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.
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag 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?
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag 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.
DocET
Beiträge: 30
Registriert: Mi 22. Mär 2006, 17:16
Wohnort: München
Kontaktdaten:

Beitrag von DocET »

klasse - das wars!
vielen dank!
Gesperrt