ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Newsarchiv & Dokument erloschen

Geschlossen
  1. #1
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Hallo zusammen

    Bin gerade dabei für unsere Page eine zusätzliche Newsübersicht zu kreieren. Nun das ganze wird eine Vorschau Übersicht aller News, welche aber ähnlich wie beim Newsarchiv die Möglichkeit bieten soll, nach Kategorien selektieren zu können. Dabei ist mir jetzt was eher unschönes aufgefallen, was auch beim Newsarchiv auftritt.

    Das Problem ist folgendes, wenn man die Abfrage zu einer bestimmten Kategorie gestartet hat, landet man ja automatisch auf der ersten Seite. Klicke ich jetzt auf einen Newsbeitrag um ihn mir anzusehen und danach via Browser (oder auch History Back Button) auf zurück, erhält man die Browser Meldung Dokument erloschen, da ja an der Stelle die Abfrage nochmals neu ausgeführt werden würde.

    Wenn ich aber die Abfrage gestartet habe, dann z.B. auf Seite zwei gehe und da genau das selbe mache -> Kein Problem

    Ebenfalls kann man nach der Abfrage kurz auf Seite zwei und via Seiten Menü zurück auf Seite 1, dann in einen Beitrag und via Zurück Button ohne Probleme zurück zur Übersicht gelangen.

    Der Schlüssel zur Lösung des Problems könnte da liegen, dass wenn eine Abfrage gestartet wird, befindet man sich laut Adresse imernoch auf:

    index.php?newsarchiv

    Sobald ich aber zwischen den Seiten hin un her schalte:

    index.php?newsarchiv-clannews-p2

    Mein Ansatz zur Lösung wär also, dass man nach einer gestarteten Abfrage auf der Seite index.php?newsarchiv-(KATEGORIE-XY)-p1 landet - dann wär das Problem Dokument erlöschen vermutlich ausgehebelt.


    Aber wie bekomme ich das hin? Jemand ne Lösung oder gar ne andere Idee dazu?

    Anbei mal die newsarchiv.php, bei der das Problem ja auch besteht:
    <?php
    #  Script Copyright by:  Topolino
    #  Support auf www.honklords.de 
      
    defined ('main') or die ( 'no direct access' );
    
    
    # Allgemeine Variablen
    
    $titellaenge 	= 50;					# Nach 25 Zeichen des Titels Ende mit ...
    $unamelaenge 	= 15;					# Nach 15 Zeichen des Autors Ende mit ...
    $rowclass1		=	'Cnorm';		# Design abhängig
    $rowclass2		=	'Cmite';		# Design abhängig
    $limit 				= 50;					# Wie viel News aufgelistet werden
    
    
    $title = 'Newsarchiv :: ' . $allgAr['title'];
    $hmenu = 'Newsarchiv';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    if (isset($_POST['chcat'])) {
      $kat = $_POST['cat'];
      }
    else $kat = 'showallcats';
    
    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    if ($menu->getA(2) == 'p') {
      $kat = $menu->get(1);
      $page = ( $menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
      }
    
    $MPL = db_make_sites ($page , "WHERE ".($kat == 'showallcats'?'':"news_kat = BINARY '$kat' AND ")."news_recht >= ".$_SESSION['authright'] , $limit , '?newsarchiv'.($kat == 'showallcats'?'':'-'.$kat) , 'news' );
    $anfang = ($page - 1) * $limit;
    
    
       $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
      WHERE ".($kat == 'showallcats'?'':"a.news_kat = BINARY '$kat' AND ")
      .$_SESSION['authright']." <= a.news_recht
      ORDER BY news_time DESC
      LIMIT $anfang,$limit";
    		
        $tpl = new tpl ( 'newsarchiv.htm' );
    
        $sql = db_query("SELECT DISTINCT news_kat FROM `prefix_news` WHERE news_recht >= ".$_SESSION['authright']);
        $kats .= '<form action="index.php?newsarchiv" method="post"><select name="cat"><option value="showallcats">Alle Kategorien anzeigen</option>';
        while ($cats = db_fetch_object($sql)) 
        $kats .= "<option value=\"$cats->news_kat\"".($kat == $cats->news_kat? ' selected="selected"':'').">$cats->news_kat</option>";
    	  
        $kats .= '</select>&nbsp;<input type="submit" value="w&auml;hlen" name="chcat" /></form>';
        
        $ar = array (
    			'KATS'        => $kats,
          'SITELINK' 		=> $MPL
    		);
    		$tpl->set_ar_out($ar, 0 );
        $erg = db_query($abf);
    	
    		$i = 0;
        while ($row = db_fetch_assoc($erg)) {
          $i++;
          $k0m  = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['id']." AND cat = 'NEWS'");
          $row['kom']  = db_result($k0m,0);
    			
          if ($i % 2 != 0) { 
    				$rowcolorclass = $rowclass1;
    			}else{ 
    				$rowcolorclass = $rowclass2; 
    			}
    
    			if(strlen($row['title']) > $titellaenge ){
    			  $row['title'] = substr($row['title'], 0, $titellaenge ).'...';
    			}
        
          if(strlen($row['username']) > $unamelaenge ){
    			  $row['username'] = substr($row['username'], 0, $unamelaenge ).'...';
    			}
    			
    			$ar = array (
      			'RCC' 			=> $rowcolorclass,
            'DATE'  		=> $row['datum'],
    				'TITLE' 		=> '<a href="?news-'.$row['id'].'">'.$row['title'].'</a>',
    				'USERNAME' 	=> '<a href="?user-details-'.$row['uid'].'" alt="Benutzerinfo: '.$row['username'].'" title="Benutzerinfo: '.$row['username'].'">'.$row['username'].'</a>',
    				'COMMENTS' 	=> '<a href="?news-'.$row['id'].'#Kommentare" alt="Kommentare ('.$row['kom'].')" title="Kommentare ('.$row['kom'].')">('.$row['kom'].')',
    				'PRINT'     => '<a href="?news-print-'.$row['id'].'" alt="Druckoptimierte Version" title="Druckoptimierte Version"><img src="include/images/icons/print.gif" alt="Druckoptimierte Version" border="0"></a>'
            );
    			
    				$tpl->set_ar_out($ar, 1 );
        }
    		$tpl->out(2);
    		unset($tpl);
    
        
    	$design->footer();
    	
    ?>


    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Müsste man im Template ändern, indem statt dem Formular POST, einen normalen "Linkaufruf" auf diese Seite machen würde.

    Dazu in Zeile 61 dem submit Button mit id="newskatsub" eine Id vergeben.

    Dann im Template oder im Design folgendes einfügen (auf deiner Seite ist jQuery schon eingebunden).

    <script type="text/javascript">
    $(function() {
        $('#newskatsub').click(function(e) {
            var me = $(this),
                form = me.closest('form'),
                select = form.find('select'),
                url = form.attr('action');
            e.preventDefault();
            window.location.href = url + '-' + select.val();
        });
    });
    </script>



    Zuletzt modifiziert von Mairu am 16.09.2013 - 19:09:42
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Danke Mairu,

    klingt schonmal gut... aber entweder ich hab was falsch gemacht oder dich falsch verstanden...

    in der php hab ich nun mal Zeile 60 so angepasst ( mir war nicht ganz klar was du mit Zeile 61 meintest;) ):
    $kats .= '</select>&nbsp;<input type="submit" value="w&auml;hlen" name="chcat" id="newskatsub" /></form>';


    und das script in die htm datei ghauen - aber es funtzt irgendwie nicht grumml

    was hab ich falsch gemacht?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    poste doch mal deine .htm

    ps:

    konnte den Fehler nicht reproduzieren?!


    Zuletzt modifiziert von XxMaTzExX am 16.09.2013 - 16:28:15
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    null problemo, hier ist sie zwinker

    <script type="text/javascript">
    $(function() {
        $('#newskatsub').click(function() {
            var me = $(this),
                form = me.closest('form'),
                select = form.find('select'),
                url = form.attr('action');
            window.location.href = url + '-' + select.val();
        });
    });
    </script>
    
    <table cellpadding="3" cellspacing="1" border="0" width="100%" class="border">
       <tr class="Chead">
    	  <td colspan="4"><strong>Kategorien : </strong></td>
    	</tr>
      <tr class="Cnorm">
    	  <td colspan="4" align="left">{KATS}</td>
    	</tr>
    </table>
    
    <br>
    <table cellpadding="1" cellspacing="1" border="0" width="100%" class="border">
      <tr class="Chead">
    	  <td width="15%">Datum</td>
    		<td width="65%" colspan="2">Titel (Kommentare)</td>
    		<td width="12%">Autor</td>
    	  <td width="8%">Drucken</td>
      </tr>
    	{EXPLODE}
    	<tr class="{RCC}">
    	  <td align="left"><nobr>{DATE}</nobr></td>
    		<td align="left"><nobr>{TITLE}</nobr></td>
    		<td align="center">{COMMENTS}</td>
    		<td align="right"><nobr>{USERNAME}</nobr></td>
    	  <td align="center">{PRINT}</td>
      </tr>
    	{EXPLODE}
    </table>
    
    <div align="center">{SITELINK}</div>



    PS: hab das script zuvor auch mal noch in die design htm gehauen, funtzte aber auch nicht...
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ach ja hab vergessen, dass das Formular ja dann trotzdem noch abgeschickt wird.

    Ich passe den Code oben nochmal an.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    1A, vielen Dank Mairu! - jetzt funtzt es problemlos zwinker

    UI muss mich leider nochmals korrigieren, jetzt funtzt es zwar für die Seite 1, wenn ich jedoch auf die Seite zwei wechsle ist die gemachte Abfrage "weg"...

    könnte folgendes sein, wenn ich die Abfrage starte lande ich nun zB auf:

    index.php?newsarchiv-jubilaeumnews

    wenn ich jetzt gleich auf Seite 2 gehe:

    index.php?newsarchiv-p2

    nochmals ne Idee?


    EDIT:

    noch ein Update, habs nun folglich zum laufen gebracht:
    <script type="text/javascript">
    $(function() {
        $('#newskatsub').click(function(e) {
            var me = $(this),
                form = me.closest('form'),
                select = form.find('select'),
                url = form.attr('action');
            e.preventDefault();
            window.location.href = url + '-' + select.val() + '-p1';
        });
    });
    </script>



    Zuletzt modifiziert von sladee am 16.09.2013 - 21:49:35
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten