SESSION beim Loginskript (IE)

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

  • SESSION beim Loginskript (IE)

    Hey,
    Ich habe folgendes Problem:
    Ich programmier schon seit einiger Zeit an einer Art CMS.
    Nun habe ich das Backend komplett mit login verpasst (ich habe nachträglich die Passwortabfragen eingefügt).

    Also zum Problem.
    Ich habe die Login-form als index.php im admin ordner verfasst:

    index.php
    PHP-Code:
    <?php 
    session_start
    ();
    error_reporting(E_ALL);
    require_once(
    'mysql.php'); 
     
    ?><center>
    <table width=873 height=56 border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td colspan=3><img src=images/top.jpg></td>
      </tr>
      <tr> 
        <td width=38><img src=images/left.jpg width="38" height="196"> </td>
        <td width=797 bgcolor="#DBDBDB" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-2" face="Arial"><center>
        <form action="action.php" method="post">
       <table width="242" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
        <tr>
          <td bgcolor="#e7e7e7" align="center" colspan="2">
          <b><font size="-1">Bitte erst anmelden</b>
          </td>
        </tr>
        <tr>
          <td width="120" bgcolor="#e7e7e7" ><font size="-3">Benutzername</td>
          <td width="157" bgcolor="#ffffff"><input type="text" name="name" size="20" class="input"></td>
       </tr>
       <tr>
         <td width="120" bgcolor="#e7e7e7"><font size="-3">Passwort</td>
         <td width="157" bgcolor="#ffffff"><input type="password" name="pw" size="20" class="input"></td>
       </tr>
        <tr>
         <td bgcolor="#e7e7e7" align="center" colspan="2">
         <input type="submit" name="confirm" value="Anmelden" class="button">
          </td>
        </tr>
      </table>
      </form><br></td>
        <td width=38><img src=images/right.jpg width="38" height="196"> </td>
      </tr>
      <tr> 
        <td colspan=3><img src=images/bottom.jpg></td>
      </tr>
    </table>
    In dieser Form werden halt die Logindaten abgenommen und per POST an action.php geschickt.

    action.php
    PHP-Code:
    <?php 
         session_start
    ();
         require_once 
    'mysql.php';
         
         
    $NAME $_POST['name'];
         
    $PW  =  $_POST['pw'];
        


         
    $query ='SELECT passwort, rang FROM user WHERE name = \''.mysql_escape_string($NAME).'\' LIMIT 1';
         
    $result mysql_query($query) or die(mysql_error()); 
         
    $get mysql_fetch_array($result) or die(mysql_error());
         
         
         
    $HASHPW md5($get['passwort']);
         
    $HASH md5($PW);
         
         
         if(
    $HASH == $HASHPW)
         {
         
          
    $_SESSION['on'] = true;
          
    $_SESSION['name'] = $_POST['name'];
          
    $_SESSION['rang'] = $get['rang'];
         echo 
    '<center>
    <table width=873 height=56 border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td colspan=3><img src=images/top.jpg></td>
      </tr>
      <tr> 
        <td width=38><img src=images/left.jpg width="38" height="100"> </td>
        <td width=797 bgcolor="#DBDBDB" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono"><center>Danke für deine Anmeldung!<br>
                                <a href="index2.php">Fortfahren</a></center></td>
        <td width=38><img src=images/right.jpg width="38" height="100"> </td>
      </tr>
      <tr> 
        <td colspan=3><img src=images/bottom.jpg></td>
      </tr>
    </table>'
    ;
         }else{
         
         echo 
    'nono';
         }
         
         
         
    ?>
    Hier werden halt die Daten angenommen und erst in md5 verschlüsselt (da die passwörter in der Datenbank sicherheitshalber in md5 gespeichert sind) und verglichen.
    Und wenn der Vergleich positiv verlaufen ist, wird in der SESSION vermerkt das man 'on' ist.

    Dann wird in der eigtl. Adminseite die SESSION überprüft:

    index2.php
    PHP-Code:
    <?php 
    session_start
    ();
    if(
    $_SESSION['on'] == true) {
     
     }else{
     echo 
    '<center>
    <table width=873 height=56 border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td colspan=3><img src=images/top.jpg></td>
      </tr>
      <tr> 
        <td width=38><img src=images/left.jpg width="38" height="100"> </td>
        <td width=797 bgcolor="#DBDBDB" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono"><center>Du bist nicht eingeloggt!<br>
                                <a href="index.php">Einloggen</a></center></td>
        <td width=38><img src=images/right.jpg width="38" height="100"> </td>
      </tr>
      <tr> 
        <td colspan=3><img src=images/bottom.jpg></td>
      </tr>
    </table>'
    ;
     return 
    false;
     }
    ?>
    <html><center> 
    <table width=873 height=56 border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td colspan=3><img src=images/top.jpg></td>
      </tr>
      <tr> 
        <td width=38><img src=images/left.jpg width="38" height="100"> </td>
        <td width=797><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="100%" bgcolor="#DBDBDB"><br>
              </td>
              <td width="85%"></td>
            </tr>
          </table></td>
        <td width=38><img src=images/right.jpg width="38" height="100"> </td>
      </tr>
      <tr> 
        <td colspan=3><img src=images/bottom.jpg></td>
      </tr>
    </table>
    <br>
    <table width=873 height=56 border=0 cellspacing=0 cellpadding=0>
      <tr> 
        <td colspan=3><img src=images/top.jpg></td>
      </tr>
      <tr> 
        <td width=38><img src=images/left.jpg> </td>
        <td width=797><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
            <tr> 
              <td width="15%" bgcolor="#DBDBDB">
    <a href="newsadmin.php" target="iframe" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono">News</font></a><br> 
                <a href="feedbackadmin.php" target="iframe" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono">Feedback</font></a><br> 
                <a href="bilderadmin.php" target="iframe" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono">Bilder</font></a><br> 
                <a href="memberadmin.php" target="iframe" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono">Admins</font></a><br> 
                
              <td width="71%" bgcolor="#DBDBDB">
    <iframe src="adminstart.php" width="100%" height="100%" border=0 framespacing=0 cellspadding=0 
    name=iframe bgcolor="#DBDBDB">
    </iframe></td>
              <td width="14%" bgcolor="#DBDBDB"><table>
      <tr>
              <td class=menu2>
    <font size=2>Name:&nbsp;<font color=red><?php echo $_SESSION['name'?></font></font></td>
      </tr>
      
      
      
      <tr>
        <td class=menu2>
    <a href="logout.php" style=text-decoration:none; font-size:1>
    <font color="#666666" size="-1" face="Courier New, Courier, mono">Logout</a></td>
      </tr>
    </table>
    </td>
            </tr>
          </table></td>
        <td width=38><img src=images/right.jpg> </td>
      </tr>
      <tr> 
        <td colspan=3><img src=images/bottom.jpg></td>
      </tr>
    </table>
    Alles klappt wunder bar im Firefox.
    Jedoch im IE geht beim Login Vorgang irgendwie die SESSION "verschwunden". Nach der Nachricht, dass man erfolgreich eingeloggt ist, kommt nachdem man den Fortfahren link betätigt hat, die nächste nachricht, dass man nciht eigeloggt sein ist.
    Ich kann mir das nicht erklären.
    Aber testet selbst:
    HIER KLICKEN!
    Logindaten : Benutzername : zeron
    Passwort :12345678





    PS: entschludigt den unübersichtlichen HTML-Code, ich habe ihn einfach immer copyed&pasted ;-) Aber der sollte sowieso nicht von Bedeutung für den Fehler sein.

    Hochachtungsvoll

    Kai(15)
    Zuletzt geändert von zeron; 15.04.2006, 16:24.

  • #2
    in meinem IE klappts auch nicht. Ich erlaube aber auch keine Cookies.

    Also überprüfe ob die SID übergeben wird, so wie es hier schon in 1000 Session-Threads erwähnt wurde.

    Kommentar


    • #3
      Cookies gebrauche ich bei diesem skript ned...und ich habe einen weiteren bekannten testen lassen und bei ihm geht es im IE und im Firefox. Also an der session kannst doch nicht liegen oder? Weil ich habe alles durchsucht, und teilweise überflüssige session übergaben hinzugefügt.

      Kommentar


      • #4
        [ X ] Du hast die Funktionsweise von Sessions noch nicht begriffen und machst dich deshalb erst darüber schlau, bevor wir hier ein Thema unnötiger Weise zum xten Mal behandeln.

        Kommentar

        Lädt...
        X