ich habe nach langer Zeit eine Site angefasst, die immer problemlos gelaufen ist und es tritt zu meinem Erschrecken folgendes Problem auf:
- Deutsch in Front- und Backend ok
- Die Sprachen EN und ES funktionieren nicht mehr. Weil das noch niemanden aufgefallen ist, kann das noch kein länger bestehendes Problem sein. Die Quelltextgenerierung bricht offensichtlich vor dem Navigationsmodul ab, der Browser wartet noch ein wenig auf die Daten (Ladeanzeige dreht sich weiter). Im Backend werden auch keine Inhalte angezeigt (weil das Navi-Modul vor den Inhalten kommt vermute ich)
Leider bin ich ein wenig aus dem Thema raus und weiß nicht mehr so richtig, wie ich das jetzt angehe soll. Vor zuviel experimentieren habe ich ein wenig Angst, wer weiß, was noch alles passieren könnte.

Die Site verwendet Contenido 4.8.6 und mySQL 5.0.51a, Protokollversion 10, PHP 5.2.17
Ich habe, ohne Erfolg, die con_code geleert und den Inhalt vom Cache-Verzeichnis gelöscht.
Das hier ist die aktuelle Ausgabe vom Fehlerlog:
EDIT-Ergänzung
1
Code: Alles auswählen
[26-Sep-2011 20:07:39] PHP Warning: include(/home/xxx/public_html/contenido/includes/include..php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/xxx/public_html/contenido/includes/include.backendedit.php on line 128
[26-Sep-2011 20:07:39] PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening '/home/xxx/public_html/contenido/includes/include..php' for inclusion (include_path='.:/usr/lib/php') in /home/xxx/public_html/contenido/includes/include.backendedit.php on line 128
Code: Alles auswählen
[26-Sep-2011 21:22:46] /contenido/main.php?area=con_contentallocation&action=con_edit&idart=473&idartlang=1106&idcat=88&tmpchangelang=1&&frame=4&contenido=40b0bb630109423e0cb6d4b6155310a6 MySQL error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
SELECT idpica_alloc FROM con_pica_alloc_con WHERE idartlang =
[26-Sep-2011 21:22:46] /contenido/main.php?area=con_contentallocation&action=con_edit&idart=473&idartlang=1106&idcat=88&tmpchangelang=1&&frame=4&contenido=40b0bb630109423e0cb6d4b6155310a6 next_record called with no query pending.
Code: Alles auswählen
[26-Sep-2011 22:52:26] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/cms/front_content.php:345) in /home/xxx/public_html/cms/front_content.php on line 436
zu 2: SQL-Fehler 1064 scheint auf ein Versionsproblem mit der installierten mySQL-Version vom Webhoster zusammenzuhängen. Möglicherweise hat der irgendwann ein Update gefahren und jetzt passt was nicht mehr? Warum funktioniert dann aber die Deutsche Seite mit dem gleichen Navi-Modul? Außerdem ist die verwendete mySQL-version wirklich nicht frisch.
zu 3: jetzt auch noch PHP-Header, also das blöde Leerzeichen???
Obwohl ich verschiedene Seiten öfter sowohl im Frontend und im Backend versucht habe aufzurufen, habe ich diese Fehler nur genau jeweils 1x in der Fehlerliste, warum.
Wo genau finde ich "line 1" - "line 1" der SQL-Abfrage wohl? Ich habe allgemein das Problem, die genannten Dateien zu identifizieren.
Hier das Navi-Modul:
Code: Alles auswählen
<?php
$db2 = new DB_contenido();
$sql = "
SELECT cat.idcat, cat.parentid, cat.preid, cat.postid, tree.level, lang.name, ((lang.visible+lang.public)=2) AS 'show'
FROM `con_cat` AS cat
JOIN `con_cat_tree` AS tree ON ( cat.idcat = tree.idcat )
JOIN `con_cat_lang` AS lang ON ( lang.idcat = tree.idcat
AND lang.idlang =$lang)
WHERE cat.idclient =$client
AND (
tree.level <3
)
OR (
tree.level =3
AND cat.parentid =$idcat
)
OR (
(
tree.level =3
OR tree.level =4
)
AND cat.parentid = (
SELECT parentid
FROM `con_cat` AS cat2
WHERE cat2.idcat =$idcat )
)
OR (
tree.level =3
AND cat.parentid = (
SELECT cat4.parentid
FROM `con_cat` AS cat3, `con_cat` AS cat4
WHERE cat3.idcat =$idcat
AND cat4.idcat = cat3.parentid )
)
OR (
tree.level =5
AND cat.parentid = (
SELECT cat4.parentid
FROM `con_cat` AS cat3, `con_cat` AS cat4
WHERE cat3.idcat =$idcat
AND cat4.idcat = cat3.parentid )
)
ORDER BY tree.level;
";
$db2->query($sql);
$first_children=array();
$other_children=array();
while ($db2->next_record())
{
if ($db2->f('preid')=="0"){$node=&$first_children[$db2->f('parentid')];}else{$node=&$other_children;}
$node[$db2->f('idcat')]=array(
'name'=>$db2->f('name'),
'level'=>$db2->f('level'),
'postid'=>$db2->f('postid'),
'show'=>$db2->f('show'));
}
function print_cat($id,$cat){
global $idcat;
if ($id != $idcat)
{
return "<li class=\"lvl".$cat['level']."\"><a href=\"front_content.php?idcat=$id\">".$cat['name']."</a>";
} else {
return '<li id="active" class="lvl'.$cat['level'].'"><span>'.$cat['name'].'</span>';
}
}
function output($parentid)
{
global $first_children,$other_children;
if (!is_array($first_children[$parentid])) return;
list($id,$cat)=each($first_children[$parentid]);
$output="";
while (1)
{
if ($cat['show'])
{
$output.=print_cat($id,$cat);
$output.=output($id);
$output.="</li>\n";
}
if ($cat['postid']=="0") break;
$id = $cat['postid'];
$cat=$other_children[$id];
}
if (strlen($output)>0){
$output = "\n<ul>\n".$output. "</ul>\n";
}
return $output;
}
echo output(1);
?>
Grüße