mbeils Posted March 8, 2007 Report Share Posted March 8, 2007 Hallo zusammen, habe folgendes Problem. Ich habe mir ein Newssystem gebastelt, welches ich in die Index.html eingebunden habe. Diese Index.html habe ich wiederum im Content-Manager (Index) als Datei hochgeladen. Wenn ich nun den IE starte und auf unseren Shop gehe, werden die News nicht angezeigt. Mache ich aber einen Reload dann werden die News angezeigt. Die Datei "newsdesk.php" habe ich mal mit rein gepackt. (siehe unten) Für jede Hilfe wäre ich dankbar. mein shop BeLaMo Textilversand GbR <!-- newsdesk //--> <?php function xtc_date_long($raw_date) { if (($raw_date == '0000-00-00 00:00:00') || ($raw_date == '')) return false; $year = (int) substr($raw_date, 0, 4); $month = (int) substr($raw_date, 5, 2); $day = (int) substr($raw_date, 8, 2); $hour = (int) substr($raw_date, 11, 2); $minute = (int) substr($raw_date, 14, 2); $second = (int) substr($raw_date, 17, 2); return strftime(DATE_FORMAT_LONG, mktime($hour, $minute, $second, $month, $day, $year)); } //// // set application wide parameters // this query set is for NewsDesk $configuration_query = xtc_db_query("select configuration_key as cfgKey, configuration_value as cfgValue from " . TABLE_NEWSDESK_CONFIGURATION . ""); while ($configuration = xtc_db_fetch_array($configuration_query)) { define($configuration['cfgKey'], $configuration['cfgValue']); } $newsdesk_var_query = xtc_db_query('select p.newsdesk_id, pd.language_id, pd.newsdesk_article_name, pd.newsdesk_article_description, pd.newsdesk_article_shorttext, pd.newsdesk_article_url, pd.newsdesk_article_url_name, p.newsdesk_image, p.newsdesk_image_two, p.newsdesk_image_three, p.newsdesk_date_added, p.newsdesk_last_modified, pd.newsdesk_article_viewed, p.newsdesk_date_available, p.newsdesk_status, p.newsdesk_sticky from ' . TABLE_NEWSDESK . ' p, ' . TABLE_NEWSDESK_DESCRIPTION . ' pd WHERE pd.newsdesk_id = p.newsdesk_id and pd.language_id = "' . $languages_id . '" and newsdesk_status = 1 and p.newsdesk_sticky = 1 ORDER BY newsdesk_date_added DESC LIMIT ' . MAX_DISPLAY_NEWSDESK_NEWS ); if (!xtc_db_num_rows($newsdesk_var_query)) { // there is no news echo '<!-- ' . TEXT_NO_NEWSDESK_NEWS . ' -->'; } else { $row = 0; while ($newsdesk_var = xtc_db_fetch_array($newsdesk_var_query)) { if ( STICKY_IMAGE ) { if ($newsdesk_var['newsdesk_image'] != '') { $insert_image = ' <table border="0" cellspacing="0" cellpadding="0"> <tr> <td> ' . xtc_image(DIR_WS_IMAGES . $newsdesk_var['newsdesk_image'], '', '') . ' </td> </tr> </table> '; } } if ( STICKY_ARTICLE_DESCRIPTION ) { $insert_content = ' <tr> <td class="smallText">'. $newsdesk_var['newsdesk_article_description'] . '</td> </tr> '; } if ( STICKY_ARTICLE_NAME ) { $insert_headline = '<b>' . $newsdesk_var['newsdesk_article_name'] . '</b>'; } if ( STICKY_DATE_ADDED ) { $insert_date = ' - <i>' . xtc_date_long($newsdesk_var['newsdesk_date_added']) . '</i>'; } echo ' <table border="0" width="100%" cellspacing="3" cellpadding="0"> <tr> <td class="smallText">' . $insert_headline . $insert_date . '</td> <td class="smallText" align="right">' . $insert_viewcount . '</td> </tr> <tr> <td class="headerNavigation" colspan="2">' . xtc_draw_separator('pixel_trans.gif', '100%', '1') . '</td> </tr> <tr> <td colspan="2">' . xtc_draw_separator('pixel_trans.gif', '100%', '5') . '</td> </tr> </table> <table border="0" width="100%" cellspacing="3" cellpadding="0"> <tr> <td valign="top" width="100%" colspan="2"> <table border="0" width="100%" cellspacing="3" cellpadding="0"> ' . $insert_summary . ' ' . $insert_content . ' ' . $insert_url . ' <tr> <td>' . xtc_draw_separator('pixel_trans.gif', '100%', '10') . '</td> </tr> </table> </td> <td valign="top"> ' . $insert_image . ' </td> </tr> <tr> <td colspan="2">' . xtc_draw_separator('pixel_trans.gif', '100%', '5') . '</td> </tr> </table> '; $row++; $insert_image = ''; } } ?> Link to comment Share on other sites More sharing options...
John Steed Posted March 10, 2007 Report Share Posted March 10, 2007 Mit Firefox und Safari laden die News auch erst beim zweiten Mal... Ich kann mir zwar nicht vorstellen, dass das mit Deinem Problen zu tun hat, aber function xtc_date_long($raw_date) { if (($raw_date == '0000-00-00 00:00:00') || ($raw_date == '')) return false; $year = (int) substr($raw_date, 0, 4); $month = (int) substr($raw_date, 5, 2); $day = (int) substr($raw_date, 8, 2); $hour = (int) substr($raw_date, 11, 2); $minute = (int) substr($raw_date, 14, 2); $second = (int) substr($raw_date, 17, 2); return strftime(DATE_FORMAT_LONG, mktime($hour, $minute, $second, $month, $day, $year)); }[/PHP] ...brauchst Du IMHO nicht nochmal anzugeben, da diese Funktion schon von der application_top.php bzw. header.php includiert wird. Jedenfalls wird die Datei schon reingeladen, es erscheinen aber zunächst keine News - siehe Dein geparster Sourcecode: [HTML]<!-- BEGIN newsdesk --> <tr> <td> <!-- newsdesk //--> <!-- Leider sind keine News vorhanden --> </td> </tr> <tr> <td> <!-- newsdesk //--> <!-- Leider sind keine News vorhanden --><!-- newsdesk_eof //--> </td> </tr> <!-- //END newsdesk -->[/HTML] Wo hast Du denn die TABLE_NEWSDESK_CONFIGURATION definiert? In der database_tables.php? Hast Du error_reporting auf 0? Wenn ja, stell mal an und schaue, ob Du einen Fehler ausgegeben bekommst... Link to comment Share on other sites More sharing options...
mbeils Posted March 11, 2007 Author Report Share Posted March 11, 2007 Hallo John, an der Funktion liegt es nicht. Habe ich getestet. TABLE_NEWSDESK_CONFIGURATION ist in database_tables.php definiert. Mir ist auch schon aufgefallen, dass die IF-Schleife aus geführt wird, aber leider an falscher Stelle. Anscheinend wird die Variable "$newsdesk_var_query" erst beim zweiten laden gefüllt. Warum weiß ich nicht. Wo stelle ich denn error_reporting ein??? Danke für Deine Hilfe Link to comment Share on other sites More sharing options...
John Steed Posted March 11, 2007 Report Share Posted March 11, 2007 Oben in der includes/application_top.php: // set the level of error reporting error_reporting(E_ALL & ~E_NOTICE); [/PHP] Wenn das bei Dir da schon so steht - und nicht etwa error_reporting(0), ist Dein Code erstmal fehlerfrei und wir müssen weitersehen... Nur mal so ne Idee: Mache mal direkt nach der Query und vor der if-Abfrage ein [PHP]echo xtc_db_num_rows($newsdesk_var_query);[/PHP] PS: Mir fällt grad auf, dass dieser Thread eigentlich eher ins PHP/mySQL-Forum gehört... Link to comment Share on other sites More sharing options...
mbeils Posted March 11, 2007 Author Report Share Posted March 11, 2007 Also error_reporting ist angeschaltet. Sollte also auch fehlerfrei sein. Das "echo" ergibt bei der ersten abfrage eine "0", beim reload eine "2". Hab auch 2 Newseinträge. Ich denke auch das es an dem Query liegt und nicht an der If-Abfrage. Nur bin ich kein PHP-Profi und weiß nicht warum der Query Probleme macht. PS: kann man den Thread verschieben??? Hab das erste mal was reingestellt. Link to comment Share on other sites More sharing options...
mbeils Posted March 11, 2007 Author Report Share Posted March 11, 2007 Hallo John, Noch was. Hab gerad nen Test gemacht ob die Variablen gesetzt sind. Hab festgestellt, dass die VAriable "$languages_id" beim ersten Aufruf nicht gesetzt ist. Ich denke das könnte das Problem sein. Nur wo wird sie gesetzt?? Ich habe das echo mal drin gelassen. Falls Du mal testen willst. Link to comment Share on other sites More sharing options...
John Steed Posted March 12, 2007 Report Share Posted March 12, 2007 Ahhh, manchmal sieht man die Bäume vor lauter Wald nicht (oder so...) Nur wo wird sie gesetzt?? Eigentlich ist das eine Session-Variable, die auch in der application_top.php verarbeitet wird. Die sollte am Anfang schon gesetzt sein. Versuche mal $_SESSION['languages_id'][/PHP] anstelle von [PHP]$languages_id[/PHP] Oder Du verzichtest gleich auf die Variable, da Du ja offensichtlich nur Deutsch in Deinem Shop hast. Nehme einfach mal die 1 (wenn in der $languages_id nichts drinsteht, wird ja die 0 eingesetzt, und eine Sprache Nummer 0 gibt es nicht, die IDs fangen bei 1 an und steigen mit den Sprachen, die man installiert, auf). Mal ganz abgesehen davon: Hast Du mal versucht, bei einem Artikel die Detailseite aufzurufen? ... Cheers, IaN Link to comment Share on other sites More sharing options...
mbeils Posted March 12, 2007 Author Report Share Posted March 12, 2007 Ja es sind manchmal die Kleinigkeiten die einem das Leben schwer machen Auf jedem Fall funktioniert es jetzt! DANKE!!! Der Fehler auf der Detailseite kam, weil ich die Funktion xtc_date_long von der newsdeck.php in die application_top.php kopiert habe. Habs wieder rückgängig gemacht. Jetzt läuft es. Das sind Dinge die ich noch nicht so vertstanden habe, wie die Zusammenhänge in dem Shopsystem funktionieren. Aber man lernt ja immer dazu. Danke nochmal... Marc Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.