Ergebnis 1 bis 13 von 13

Thema: Fehler beim Anmelden - aber nur online

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Fehler beim Anmelden - aber nur online

    Tja, ich habe (schon vor dadie) einen Filemanager gemacht. Der funktionier tauch (besonders lokal) ausgezeichnet, aber nun ist das Problem, dass man sich, wenn ich ihn online stelle, zwar anmelden kann, aber sofort wieder rausfliegt bei der ersten Aktion/Reload.

    Der dazu relevante Code ist leider sehr groß, da ich die Benutzer in einer Datei speichern wollte. Naja, egal:
    PHP-Code:
    <?php
    define
    ('PHP_SELF'$_SERVER['PHP_SELF']);
    define('USER_FILE''user.xml');
    define('IMAGE_DIR''images/');
    session_name('sid');
    session_start();

    ### User-Datei einlesen und auswerten ###
    $i 0;
    function 
    startElement($parser$element_name$element_attribute)
    {
        global 
    $element;
          
    $element_name strtolower($element_name);
        
    $element $element_name;
    }

    function 
    endElement($parser$element_name)
    {
          global 
    $i;
          
    $element_name strtolower($element_name);
          if(
    $element_name == 'user')
          {
                
    $i++;
          }
    }

    function 
    cdata($parser$element_inhalt)
    {
        global 
    $i;
        global 
    $users;
        global 
    $element;
        
    $tmp str_replace(' '''$element_inhalt);
        
    $tmp str_replace("\t"''$tmp);
        
    $tmp str_replace("\n"''$tmp);
        
    $tmp str_replace("\r"''$tmp);
        if(
    $tmp)
        {
            
    $users[$i][$element] = $element_inhalt;
        }
    }
    $parser xml_parser_create();
    $xmlFile file(USER_FILE);
    xml_set_element_handler($parser"startElement""endElement");
    xml_set_character_data_handler($parser"cdata");

    foreach(
    $xmlFile as $elem)
    {
        
    xml_parse($parser$elem);
    }

    ### Benutzer anmelden ###
    if(isset($_POST['login']) AND isset($_POST['user']) AND isset($_POST['password']) AND $_POST['login'] == 'Login' AND isset($_POST['user']) AND isset($_POST['password']))
    {
        foreach(
    $users AS $tmp)
        {
            if(
    $_POST['user'] == $tmp['name'] AND md5($_POST['password']) == $tmp['password'])
            {
                
    $_SESSION['name'] = $_POST['user'];
                
    $_SESSION['password'] = md5($_POST['password']);
                
    header('Location: '.PHP_SELF);
                exit;
            }
        }
    }

    ### Prüfen, ob Benutzer angemeldet ist ###
    foreach($users AS $tmp)
    {
        if(isset(
    $_SESSION['name']) AND isset($_SESSION['password']) AND $_SESSION['name'] == $tmp['name'] AND $_SESSION['password'] == $tmp['password'])
        {
            
    $loggedin TRUE;
            
    $user $tmp;
        }
    }
    if(isset(
    $loggedin))
    {
        
    // Der Filemanager an sich
    }
    ?>
    Die Datei user.xml:
    Code:
    <?xml version="1.0" encoding="iso-8859-1" ?>
    <users>
    	<user>
    		<name>username</name>
    		<password>MD5-Passwort (aus Sicherheitsgründen entfernt)</password>
    		<write>true</write>
    	</user>
    	<user>
    		<name>Gast</name>
    		<password>MD5-Passwort (aus Sicherheitsgründen entfernt)</password>
    		<write>false</write>
    	</user>
    </users>
    Ich bin mir sicher, dass der Fehler ein ganz doofer und kleiner ist, aber ich finde ihn einfach nicht! Plz help! Thx!

    Geändert von dead_orc (21.02.2010 um 14:35 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •