|
|||
|
Hallo,
im Content Manager Bereich bekomme ich folgende Fehlermeldung: Fatal error: Cannot use string offset as an array in D:\Eigene Webs\www\ihre_kette\xtcommerce\admin\content_manag er.php on line 808 Hat jemand dieses Problem auch schon einmal gehabt und den Fehler beheben k?nnen? Auf meinem Rechner l?uft PHP 5. |
|
|||
|
hi
arbeite gerade an content_manager.php und hatte das selbe. (php5) meine zeilennummern koennen ein bisschen abweichen! mein problem wurde verursacht dadurch, dass mein table.products_content leer war (sollte schon im eingebeformular getestet weden ob alles noetige richtig eingegeben wurde, was nicht der fall ist! du kannst ein produkt ohne namen abspeichern). und dann passierte bei mir dasselbe. meine loesung dagegen: Code:
781: $products_ids=array(); // das original ist: $products_ids='';
782: while schleife fuellt $products_ids mit daten (FALLS VORHANDEN!)
wenn nicht bleibt die variable kein leerstring (denkbar ungeeignet
fuer 804, 808) sondern array
804: for ($i=0,$n=sizeof($products_ids); $i<$n; $i++) { ...
in dem fall ist hier $i = $n = 0
808: ... <?php echo $products_ids[$i]['id']; ?> ...
und genau das wird dann hier ausgegeben was drinn steckt!
$products_ids[0]['id'] = NULL; (nicht schoen aber nicht stoerend).
1 man sollte formulare immer checken. 2 man sollte keine variable die als array verwendet wird kurz vor der verwendung als string vorbelegen (dieses problem ist im ganzen context vorherrschend. weiss' nicht warum?) ---- nochmal der komplette passage ab zeile 771: Code:
if (!$_GET['action']) {
// products content
// load products_ids into array
$products_id_query=xtc_db_query("SELECT DISTINCT
pc.products_id,
pd.products_name
FROM ".TABLE_PRODUCTS_CONTENT." pc, ".TABLE_PRODUCTS_DESCRIPTION." pd
WHERE pd.products_id=pc.products_id and pd.language_id='".(int)$_SESSION['languages_id']."'");
$products_ids=array(); // jvcz 2005.05.28 $products_ids='';
while ($products_id_data=xtc_db_fetch_array($products_id_query)) {
$products_ids[]=array(
'id'=>$products_id_data['products_id'],
'name'=>$products_id_data['products_name']);
} // while
?>
<div class="pageHeading"><br><?php echo HEADING_PRODUCTS_CONTENT; ?><br></div>
<?php
xtc_spaceUsed(DIR_FS_CATALOG.'media/products/');
echo '<div class="main">'.USED_SPACE.xtc_format_filesize($total).'</div></br>';
?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent" nowrap width="5%" ><?php echo TABLE_HEADING_PRODUCTS_ID; ?></td>
<td class="dataTableHeadingContent" width="95%" align="left"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
</tr>
<?php
for ($i=0,$n=sizeof($products_ids); $i<$n; $i++) {
echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\'" onmouseout="this.className=\'dataTableRow\'">' . "\n";
?>
<td class="dataTableContent_products" align="left"><?php echo $products_ids[$i]['id']; ?></td>
<td class="dataTableContent_products" align="left"><b><?php echo xtc_image(DIR_WS_CATALOG.'images/icons/arrow.gif'); ?><a href="<?php echo xtc_href_link(FILENAME_CONTENT_MANAGER,'pID='.$products_ids[$i]['id']);?>"><?php echo $products_ids[$i]['name']; ?></a></b></td>
</tr>
schoenes wochenend josephb |
|
|||
|
@josephb
Danke ich hatte das gleiche problem --- aber deine l?sung hat mich gerettet! Danke jetzt mu? ich nur noch diesen hier beheben: Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /srv/www/htdocs/cesarsshop.com/shop/admin/content_manager.php on line 552 |
![]() |
| Lesezeichen |
| Stichworte |
| content, fehlermeldung, manager |
| Themen-Optionen | |
| Ansicht | |
|
|