Mysql Query beendet aktuelle Session ?

Jogurt

Grünschnabel
Hallo zusammen,

da ich mal wieder mächtig auf dem Schlauch stehe, wende ich mich mit meiner frage an die Community.
Ich habe mir eine kleine Datenbank zusammengebaut in welcher ich Bilder abspeichern kann. dazu habe ich mir eine kleine Seite gebaut, wo ich mich zuerst einloggen muss, ( http://de.wikihow.com/Ein-sicheres-Login-Skript-mit-PHP-und-MySQL-erstellen )ganz nach diesem Tutorial. Ich kann mir mithilfe eines Formulars nun die Bilder selektiert nach bestimmten tags oder nach dem Autoren sortieren lassen.

Code:
<?php
           if(isset ($_POST['rules']))
           {
          $_SESSION['rules2'] = $_POST['rules'];
         $_SESSION['starting'] = 0;
           }
         $rules2 = $_SESSION['rules2'];
        
         if(isset ($_GET['data']))
         {
         $_SESSION['filter'] = $_GET['data'];
         }
         if(isset ($_POST['filter']))
         {
         $_SESSION['filter'] = $_POST['filter'];
         $_SESSION['starting'] = 0;
         }
          
           //temp variablen um alle tags in Db abzufragen... $ext2 == $rules+2 eg tags+2 -> tags2
           // somit greift tag suche nicht auf artist zu.
           $ext2 = $rules2 . "2";
           $ext3 = $rules2 . "3";
           $ext4 = $rules2 . "4";
           $ext5 = $rules2 . "5";
           require '_includes/connect.php';
           $result = mysql_query
           ("
           SELECT id,tags,tags2,tags3,tags4,tags5,artist,cat,artist2,artist3,artist4,artist5 FROM images
           WHERE ($rules2  like '%".$_SESSION['filter']."%')
           OR ($ext2 = '".$_SESSION['filter']."')  
           OR ($ext3 = '".$_SESSION['filter']."')  
           OR ($ext4 = '".$_SESSION['filter']."')
           OR ($ext5 = '".$_SESSION['filter']."')
           AND cat='privat'
           ORDER BY id DESC
           LIMIT ".$_SESSION['starting'].",".$_SESSION['end']."
           ");
           while($row = mysql_fetch_object($result))
             {
               echo
               '<table style="float:left; font-size: 70%;" width="310" height="310" border="1">
               <tr>
               <td colspan="6">
               <a href="_includes/image.php?id='.$row->id.'" data-lightbox="'.$_SESSION['filter'].'" data-title="'.$_SESSION['filter'].'">
               <img alt="" width="310" height="310"src="_includes/image.php?id='.$row->id.'"></a>
               </td>
               </tr>
               <tr>
               <td colspan="5" width="95%" style="background-color:  #FFCCCB">artist: '.$row->artist.'&nbsp;'.$row->artist2.'&nbsp;'.$row->artist3.'&nbsp;'.$row->artist4.'&nbsp;'.$row->artist5.'</td>
               <td width="5%" style="background-color:  #FFCCCB"><a href="_includes/edit.php?id='.$row->id.'&tags='.$row->tags.'&tagsx='.$row->tags2.'&tags3='.$row->tags3.'&tags4='.$row->tags4.'&tags5='.$row->tags5.'&artist='.$row->artist.'&artistx='.$row->artist2.'&artist3='.$row->artist3.'&artist4='.$row->artist4.'&artist5='.$row->artist5.'&cat='.$row->cat.'" target="_blank"><img src="_img/edit.png" width="15" height="15"></a></td>
               </tr>
               <tr>
               <td colspan="1" width="20%" height="20">'.$row->tags.'</td>
               <td colspan="1" width="20%" height="20">'.$row->tags2.'</td>
               <td colspan="1" width="20%" height="20">'.$row->tags3.'</td>
               <td colspan="1" width="20%" height="20">'.$row->tags4.'</td>
               <td colspan="2" width="20%" height="20">'.$row->tags5.'</td>
               </tr>
               </table>';
              
             }
            

           ?>

Allerdings wird mir bei bestimmten Datensätzen sofort die Session "weggerissen".. das heißt alle Session Variablen sind plötzlich leer, und ich werde ausgeloggt.... aufgefallen ist mir das es bei besonders großen Datensätzen passiert und wenn viele der Bilder hochauflösend sind (hab keine thumbnails)...

Ist in meinem code irgendwas gravierend verkehrt ? ( abseits der sql injection möglichkeit )..
ich komm einfach nicht auf den richtigen gedanken wo denn der Fehler sein könnte.

Viele Grüße
Jogurt
 
Hallo,

kleiner nachtrag... das verhalten tritt am häufigsten im firefox auf. Internet Explorer und Edge halten ein paar klicks mehr aus. gibt es einen forcierten session timeout wenn querys zu lange dauern oder die abfrage irgendwie abgebrochen wurde ? Bin dankbar für jede Hilfe und jeden Gedankenanstoss :)

Grüße
 
Zurück