Eingeloggt, und trotzdem kein Zugriff auf die Inhalte?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eingeloggt, und trotzdem kein Zugriff auf die Inhalte?

    Hey,

    es geht um das Shop Script, was ich auf meinem Webspace liegen habe, wenn man sich einloggt.

    www.domtainment.de/knuddels/
    Knusmilco - der knuddelige Smileyshop
    User: test | PW: test

    Ist man kurz eingeloggt, dass ganze Menü wird sichtbar, es verschwindet und es wird sagt man sei bereits eingeloggt.

    Hat jemand eine Ahnung wodrann dies liegen kann?
    Zuletzt geändert von AmicaNoctis; 19.08.2010, 06:55. Grund: URLs entlinkt

  • #2
    Hallo,

    bitte erstmal beim Hersteller dieses Shop-Scripts nachfragen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Der gibt kein Support!

      Wenn ihr die Dateien braucht, sagt mir Bescheid.

      Bitte helft mir!

      Kommentar


      • #4
        Da es eine fertig Software zu sein scheint, wird Dir vermutlich keienr für lau bei deinem Problem helfen, da der Aufwand sicherlich nicht unerheblich ist. Möglichkeiten für dieses Problem gibt es viele.

        streuner
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar


        • #5
          Kann sich das den niemand anssehen?

          Kommentar


          • #6
            setzt das ding einen cookie ?
            ich hatte mal ähnliche probleme mit ner fertigen software, weil ich die cookiedomäne nicht korrekt gesetzt hab.
            ansonsten könntest du uns ja mal mitteilen, was du bisher selber versucht hast

            Kommentar


            • #7
              Es setzt Cookies mom hier mal die Dateien:

              login.php
              PHP-Code:
              <?php
              if(empty($_SESSION["user"]))
              {
              ?>
              <form action="index.php?id=5" method="post"><center>
              <table id="login">
                  <tr><td>Username<br>
                      <input type="text" name="username"></td></tr>
                  <tr><td></td></tr>
                  <tr><td>Password<br>
                      <input type="password" name="password"></td></tr>
                  <tr><td></td></tr>
                  <tr><td><input type="submit" value="login"></td></tr>
              </table></center>
              </form>
              <?php
              }
              else
              echo
              '<font color="red">Sie sind bereits eingeloggt.</font>';
              ?>
              Die Navigation wo gecheckt wird ob man eingeloggt ist:

              PHP-Code:
              <?php
              if($ajax == 1)
              {
              echo
              '<table><tr><td><a href="#" onclick="get(\'ajax.php?id=1\');"><img src="./designe/'.$designe.'/img/ico/home.png"/> <span align="middle">Home</span></a></td>';
              if(!empty(
              $_SESSION["user"]))
              {
              $query mysql_query('SELECT * FROM users WHERE username="'.$_SESSION["user"].'"');
              if(
              mysql_num_rows($query) == 1)
              $user mysql_fetch_array($query);
              echo
              '<td><a href="#" onclick="get(\'ajax.php?id=2\');"><img src="./designe/'.$designe.'/img/ico/prod.png"/> <span align="middle">Produkte</span></a></td>
              <td><a href="#" onclick="get(\'ajax.php?id=3\');"><img src="./designe/'
              .$designe.'/img/ico/einz.png"/> <span align="middle">Einzahlen</span></a></td>
              <td><a href="#" onclick="get(\'ajax.php?id=4\');"><img src="./designe/'
              .$designe.'/img/ico/gekauft.png"/> <span align="middle">Historie</span></a></td>
              <td><a href="#" onclick="get(\'ajax.php?id=8\');"><img src="./designe/'
              .$designe.'/img/ico/member.png"/> <span align="middle">Member</span></a></td>
              <td><a href="#" onclick="get(\'ajax.php?id=7\');"><img src="./designe/'
              .$designe.'/img/ico/faq.png"/> <span align="middle">FAQ</span></a></td>';
              if(
              $user["access"]==1)
              echo
              '<td><a href="admin/"><img src="./designe/'.$designe.'/img/ico/admin.png"/> <span align="middle">Admin</span></a></td>';
              echo
              '<td><a href="index.php?id=9"><img src="./designe/'.$designe.'/img/ico/logout.png"/> <span align="middle">Logout</span></a></td>';
              }
              else
              echo
              '<td><a href="#" onclick="get(\'ajax.php?id=5\');"><img src="./designe/'.$designe.'/img/ico/login.png"/> <span align="middle">Login</span></a></td>
              <td><a href="#" onclick="get(\'ajax.php?id=6\');"><img src="./designe/'
              .$designe.'/img/ico/reg.png"/> <span align="middle">Registrieren</span></a></td>';
              echo
              '</tr></table>';
              }
              else
              {
              echo
              '<table><tr><td><a href="index.php?id=1"><img src="./designe/'.$designe.'/img/ico/home.png"/> <span align="middle">Home</span></a></td>';
              if(!empty(
              $_SESSION["user"]))
              {
              $query mysql_query('SELECT * FROM users WHERE username="'.$_SESSION["user"].'"');
              if(
              mysql_num_rows($query) == 1)
              $user mysql_fetch_array($query);
              echo
              '<td><a href="index.php?id=2"><img src="./designe/'.$designe.'/img/ico/prod.png"/> <span align="middle">Produkte</span></a></td>
              <td><a href="index.php?id=3"><img src="./designe/'
              .$designe.'/img/ico/einz.png"/> <span align="middle">Einzahlen</span></a></td>
              <td><a href="index.php?id=4"><img src="./designe/'
              .$designe.'/img/ico/gekauft.png"/> <span align="middle">Historie</span></a></td>
              <td><a href="index.php?id=8"><img src="./designe/'
              .$designe.'/img/ico/member.png"/> <span align="middle">Member</span></a></td>
              <td><a href="index.php?id=7"><img src="./designe/'
              .$designe.'/img/ico/faq.png"/> <span align="middle">FAQ</span></a></td>';
              if(
              $user["access"]==1)
              echo
              '<td><a href="admin/"><img src="./designe/'.$designe.'/img/ico/admin.png"/> <span align="middle">Admin</span></a></td>';
              echo
              '<td><a href="index.php?id=9"><img src="./designe/'.$designe.'/img/ico/logout.png"/> <span align="middle">Logout</span></a></td>';
              }
              else
              echo
              '<td><a href="index.php?id=5"><img src="./designe/'.$designe.'/img/ico/login.png"/> <span align="middle">Login</span></a></td>
              <td><a href="index.php?id=6"><img src="./designe/'
              .$designe.'/img/ico/reg.png"/> <span align="middle">Registrieren</span></a></td>';
              echo
              '</tr></table>';
              }
              ?>
              Und die index.php wo der Cookie gesetzt wird?!

              PHP-Code:
              <?php
              include('./inc/config.php');
              include(
              './inc/functions.php');
              $id addslashes($_REQUEST["id"]);
              $user addslashes($_REQUEST["username"]);
              $pass addslashes($_REQUEST["password"]);

              if(empty(
              $id)) $id =1;
              $file mysql_query('SELECT * FROM navi WHERE id="'.$id.'"');
              if(
              mysql_num_rows($file)>0)
              $file mysql_fetch_array($file);
              else
              $file mysql_fetch_array(mysql_query('SELECT * FROM navi WHERE id="404"'));

              if(!empty(
              $user) AND !empty($pass))
              {
              $query mysql_query('SELECT * FROM users WHERE username="'.$user.'" AND pass="'.md6($pass).'"');
              if(
              mysql_num_rows($query) == 1) {$_SESSION["user"] = ucfirst($user); echo'<meta http-equiv="refresh" content="0; url=index.php?id=8">';}
              else 
              $error 'Username oder Passwort ist falsch.';}
              ?>
              <html>
               <head>
               <title><?php echo $shop_name.' - '.$title?></title>
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
               <link href="./designe/<?php echo $designe;?>/style.css" type="text/css" rel="stylesheet" />
               <script src="ajax/main.js"></script>
               </head>
               <body>
               <div id="page">
                  <div id="title"></div>
                  <div id="navi"><?php include('./pages/navi.php'?></div>
                  <div id="content">
                  <?php if(file_exists('./pages/'.$file["file"]))
                  {echo
              '<h1>'.ucfirst($file["title"]).'</h1>';
                  include(
              './pages/'.$file["file"]);}
                  if(!empty(
              $error)) echo '<font color="red">'.$error.'</font>'?>
                  </div>
               <br>
               <center>&copy; 2010 <?php echo $shop_name ?></center>
               </div>
               </body>
              </html>
              Jemand eine Ahnung? Wäre toll!

              Kommentar


              • #8
                nun, da ich auch mit User-Zugriff arbeite (Login und Co...) .. ich vermisse session_start() in deinem Code - vielleicht bin ich blind

                an mehreren Stellen finden sich Zugriffe auf $_SESSION, ohne dass ich sehe, das mal eine Sitzung gestartet wird - das würde natürlich erklären, dass dein Script den User scheinbar einloggt und dann Sekundenbruchteile später behauptet, er wäre nicht eingeloggt ...

                Ohne Sitzung ist er "natürlich" nicht eingeloggt, wenn dein Script vom Ajax-Teil erneut aufgerufen wird

                und brich mal bitte den Code um, nicht jeder hat 23" 16:9 Monitore mit Auflösungen jenseits von 1920 in x-Richtung
                Zuletzt geändert von eagle275; 19.08.2010, 19:33.
                [font=Verdana]
                Wer LESEN kann, ist klar im Vorteil!
                [/font]

                Kommentar


                • #9
                  Hallo,

                  das sieht so aus als ob das Script davon ausginge, dass in der php.ini session.auto_start eingeschaltet ist. Abhilfe kannst du schaffen, indem du in jeder PHP-Datei ganz oben session_start() aufrufst.

                  Edit: da war ich wohl zu langsam.

                  Gruß,

                  Amica
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Hab nun in die index.php und die navigation.php gan oben nach

                    <?php
                    session_start()

                    eingefügt nun kommt:

                    Parse error: syntax error, unexpected T_INCLUDE in /hp/ac/af/is/www/knuddels/index.php on line 3

                    Kommentar


                    • #11
                      Semikolon hinter jedem Befehl ist Pflicht.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Auf jeder Seite steht nun oben:

                        session_start();

                        Member.php zb

                        PHP-Code:
                        <?php
                        session_start
                        ();
                        if(!empty(
                        $_SESSION["user"]))
                        {

                        $cupbon addslashes(encode($_REQUEST["cupbon"]));
                        $email htmlspecialchars(addslashes($_REQUEST["email"]));
                        $pass addslashes($_REQUEST["pass"]);
                        $newpass htmlspecialchars(addslashes($_REQUEST["newpass"]));
                        Aber funktionieren tut es immer noch nicht, muss ich vielleicht noch was in die Functions einfügen? Weil Base64 hat irgendwas mit der Session zu tun oder?

                        functions.php

                        PHP-Code:
                        <?php
                         
                        function md6$string )
                         {
                                
                        $md5 md5($string).md5($string);
                                
                        $return md5($md5.$md5);
                                
                        $return '=='.md5($return);
                                return 
                        $return;
                         }

                         function 
                        captcha()
                         {
                                
                        $len 2;
                            
                        $possible="123456789";
                            
                        $str="";
                            while(
                        strlen($str)<$len) {
                            
                        $str.=substr($possible,(rand()%(strlen($possible))),1);
                                }
                                
                        $str1 $str;

                                
                        $len 1;
                            
                        $possible="123456789";
                            
                        $str="";
                            while(
                        strlen($str)<$len) {
                            
                        $str.=substr($possible,(rand()%(strlen($possible))),1);
                                }
                                
                        $str2 $str;
                                
                        $_SESSION["captcha"] = $str1 $str2;
                                return 
                        $str1.' + '.$str2;
                         }

                          function 
                        encode $string )
                         {
                                
                        $string base64_encode($string);
                                
                        $string str_rot13($string);
                                
                        $string strrev($string);
                                
                        $string base64_encode($string);
                                return 
                        $string;
                         }

                         function 
                        decode $string )
                         {
                                
                        $string base64_decode($string);
                                
                        $string strrev($string);
                                
                        $string str_rot13($string);
                                
                        $string base64_decode($string);
                                return 
                        $string;
                         }
                        ?>

                        Kommentar


                        • #13
                          nö .. eigentlich eher nicht ...

                          diese encode / decode Funktionen haben eigentlich nichts mit der Session direkt zu tun...

                          "Aber funktionieren tut es immer noch nicht, muss ich vielleicht noch was in die Functions einfügen?"

                          bitte etwas klarer .. was funktioniert nicht ? gibts Fehlermeldungen, oder wirft er den eingeloggten User immer noch direkt wieder raus?

                          in dem Fall würd ich mal zum Echo.Debugger greifen ..
                          speziell den Inhalt der $_SESSION - variablen ..

                          und die $_REQUEST kann auch nicht schaden
                          Code:
                          foreach ($_SESSION as $key=>$element) 
                              echo $key." - ".$element."<br>";
                          foreach ($_REQUEST as $key=>$element) 
                              echo $key." - ".$element."<br>";
                          wenn ich neue Funktionen in meine Web-Anwendung einbaue, nutz ich das so lange, bis die Funktion fehlerfrei für alle User-Klassen (mehrere Rechtestufen) läuft, danach kann man es dann auskommentieren oder löschen

                          besonders geeignete Stellen für den Einsatz dieses Code-Schnipsels sind immer direkt nach session_start();

                          weil danach sollte er Zugriff auf die Session-Daten haben ...

                          Müssen für deine Shop-Anwendung möglicherweise Cookies im Browser aktiv sein? ..$_REQUEST enthält neben $_POST auch die Daten von Cookies ....

                          was natürlich auch noch sein kann ...

                          hast du mal mit phpMyAdmin geprüft, ob du mit den Abfragen, die du an die Datenbank schickst überhaupt Antwort und die richtige Antwort erhältst?
                          auch dabei leistet echo-debugger gute Hilfe ...speziell auf den Navigations-Teil bezogen .. (nach dem $user = mysql_fetch_array($query); )
                          Code:
                          foreach($user as $key=>$element)
                            echo $key." - ".$element."<br>";
                          und keine Sorge, wenn dir diese Code-Schnipsel dein Layout erstmal verunstalten .. wenn alles fehlerfrei läuft, löschst du die Zeilen und schon haut das Layout auch wieder hin
                          Zuletzt geändert von eagle275; 20.08.2010, 00:38.
                          [font=Verdana]
                          Wer LESEN kann, ist klar im Vorteil!
                          [/font]

                          Kommentar


                          • #14
                            Den ersten Schnipsel habe ich überall nach den session Start eingebaut.

                            Der zweite Schnipsel weiss ich nicht, wo ich den einfügen soll.

                            Genauer: Ich gebe die Benutzerdaten: test | test ein User | Passwort, er reloaded zeigt kurz die komplette Navigation, wirft dann aber wieder:

                            [COLOR=red]Sie sind nicht eingeloggt.

                            [COLOR=Black]aus. Im Adminmenü funktioniert das einloggen nur im Userbereich nicht.[/COLOR]
                            [/COLOR]

                            Kommentar


                            • #15
                              interessanter ist, was gibt der neu eingebaute Code.Schnipsel aus, während dein script läuft..

                              aber dank ajax .....

                              vielleicht musst du das ganze so modifizieren, dass die ausgabe statt am Bildschirm in einer Protokoll-Datei landet ...

                              Code:
                              $handle=fopen("./output.txt","a+");
                              foreach($_SESSION as $key=>$element)
                                 fwrite($handle,"S ".$key." - ".$element."\n");
                              foreach ($_REQUEST as $key=>$element) 
                                  fwrite($handle,"R ".$key." - ".$element."\n");
                              fclose($handle);
                              evtl musst du den Pfadnamen zur Datei ändern auf ein Verzeichnis, wo dein WWW-user schreibrechte hat
                              (die Buchstaben dienen dir später um Session Daten von Request Daten zu trennen
                              Zuletzt geändert von eagle275; 20.08.2010, 06:13.
                              [font=Verdana]
                              Wer LESEN kann, ist klar im Vorteil!
                              [/font]

                              Kommentar

                              Lädt...
                              X