kostenloser Webspace werbefrei: lima-city


Problem mit Loginscript

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich habe ein Problem mit meinem Loginscript. Auf der linken Seite im Menü sind ganz viele Fehler.
    Ich habe schon versucht, sie zu beheben, aber ich weiß nicht was ich ändern muss.

    Die Seite: http://www.adler-frankfurt.de/index.php

    global.php

    <?
    	require("/home/webpages/lima-city/davy/html/adler-frankfurt/login/lib/config.inc.php");
    	require("/home/webpages/lima-city/davy/html/adler-frankfurt/login/lib/db.class.php");
    	require("/home/webpages/lima-city/davy/html/adler-frankfurt/login/lib/um.class.php");
    
    
    	$db					= new db($db['location'], $db['username'], $db['passwort'], $db['database']);
    	$um					= new usermanagment();
    
    
    	/** User eingeloggt **/
    
    	$checklogin				= $um->check_login();
    	$userdata				= $um->getuserdata();
    
    	if(!$checklogin && !$guest) {
    		header("LOCATION: /home/webpages/lima-city/davy/html/adler-frankfurt/index.php");
    	}
    
    ?>


    login.php

    <?
    	$guest					= true;
    	require("/home/webpages/lima-city/davy/html/adler-frankfurt/login/global.php");
    
    	if($_GET['do'] == "login") {
    		$um->do_login($_POST['username'], $_POST['passwort']);
    
    
    		header("LOCATION: http://www.adler-frankfurt.de/login/index.php");
    
    	} elseif($_GET['do'] == "logout") {
    		$um->reset();
    
    		header("LOCATION: http://www.adler-frankfurt.de/index.php");
    	}
    ?>


    um.class:

    <?
    	class usermanagment {
    		function usermanagment() {
    			global $db;
    
    			$this->userdata					= array();
    			$this->db					= $db;
    		}
    
    		function check_login() {
    			$username					= $_COOKIE['username'];
    			$passwort					= $_COOKIE['passwort'];
    			$hash						= $_COOKIE['hash'];
    			$r						= $this->db->Query("SELECT * FROM userdaten WHERE username = '".$username."' AND passwort = '".$passwort."' AND hashwert = '".$hash."'");
    
    			if($this->db->rows($r) == 1) {
    				$this->userdata				= $this->db->Fetch_Array($r);
    				return true;
    
    			} else {
    				$this->reset();
    				return false;
    
    			}
    		}
    
    		function getuserdata() {
    			if($this->check_login()) {
    				//User besitzt eine gültige Login-Session
    				return $this->userdata;
    
    			} else {
    				//User besitzt keine gültige Login-Session
    				return false;
    
    			}
    		}
    
    		function is_admin() {
    			$userdata					= $this->getuserdata();
    
    			if($userdata['admin'] == "1") return true;
    			else return false;
    		}
    
    		function do_login($username, $passwort) {
    			$r						= $this->db->Query("SELECT * FROM userdaten WHERE username = '".$username."' AND passwort = '".md5($passwort)."'") or die(mysql_error());
    
    			if($this->db->rows($r) == 1) {
    				//User ist eingeloggt
    				$r					= $this->db->Fetch_Array($r);
    				$hash					= md5(sha1($r['username']).sha1($r['passwort']).sha1($r['userid']));
    				$this->db->Query("UPDATE userdaten SET hashwert = '".$hash."' WHERE userid = '".$r['userid']."'");
    
    				//Cookies setzen
    				$time					= time() + ( 3600 * 24 * 30 );
    				setcookie("username", $r['username'], $time, "/");
    				setcookie("passwort", $r['passwort'], $time, "/");
    				setcookie("hash", $hash, $time, "/");
    
    				return true;
    			} else return false;
    		}
    
    		function reset() {
    			//User ausloggen da Passwort / HASH im COOKIE fehlerhaft ist!
    			$time						= -1;
    			setcookie("username", "", $time, "/");
    			setcookie("passwort", "", $time, "/");
    			setcookie("hash", "", $time, "/");
    		}
    
    
    
    	}
    
    ?>
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Google doch einfach mal die Fehler, das hilft ungemein.

    Aber nun gut ein paar tips kann ich dir ja geben:

    Der Fehler mit den Headers already sent by ist recht einfach zu erklären.
    header("LOCATION: /home/webpages/lima-city/davy/html/adler-frankfurt/index.php");
    	}

    Das darf man nicht. Vor einem solchen header darf kein bisschen html stehen. Da du diese Sachen jedoch mit divs integrierst wird das wohl kaum möglich sein. Als html gilt übrigens auch schon ein echo.

    Also schreib das mit den headern am besten um. Altenativ wäre dazu folgendes:
    echo"<meta http-equiv='refresh' content='0;URL=Gewünschte Seite.php'>";


    Aber ansonsten hilft dir da Google, denn diese Fragen haben schon so viele PHP-Neulinge gestellt.

    Beitrag zuletzt geändert: 4.4.2010 10:01:48 von no-smoke
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    no-smoke schrieb:
    Google doch einfach mal die Fehler, das hilft ungemein.

    Aber nun gut ein paar tips kann ich dir ja geben:

    Der Fehler mit den Headers already sent by ist recht einfach zu erklären.
    header("LOCATION: /home/webpages/lima-city/davy/html/adler-frankfurt/index.php");
    	}

    Das darf man nicht. Vor einem solchen header darf kein bisschen html stehen. Da du diese Sachen jedoch mit divs integrierst wird das wohl kaum möglich sein. Als html gilt übrigens auch schon ein echo.

    Also schreib das mit den headern am besten um. Altenativ wäre dazu folgendes:
    echo"<meta http-equiv='refresh' content='0;URL=Gewünschte Seite.php'>";


    Aber ansonsten hilft dir da Google, denn diese Fragen haben schon so viele PHP-Neulinge gestellt.


    Ich hab es geändert, allerdings kommt der Fehler immer noch
  5. Hast du es wirklich in allen Dateien geändert, es wäre dann hilfreich wenn du sie noch mal posten uploaden würdest.
  6. ungemein hilfreich ein refresh ;o) jetzt hört die seite nich mehr auf neu zu laden, allerdings mit der selben wirkung!
    eine der lösungen ist (weil die warnung ja lautet):
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/davy/html/adler-frankfurt/index.php:7) in /home/webpages/lima-city/davy/html/adler-frankfurt/login/lib/um.class.php on line 68

    decto on line 69

    decto on line 70
    in der datei 'index.php' gleich am anfang fügst 'ob_start ();' in eine zeil ein. das mit dem header umschreiben musst du rückgängig machen. reinster unsinn.

    ==== edit:
    die seite verursacht eine wahre lawine an css-fehlermeldungen. fällt nicht sehr positiv auf. verstopft jeden browser.
    auch der titel ist etwas unglücklich gewählt.

    Beitrag zuletzt geändert: 4.4.2010 12:34:48 von czibere
  7. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    czibere schrieb:
    ungemein hilfreich ein refresh ;o) jetzt hört die seite nich mehr auf neu zu laden, allerdings mit der selben wirkung!
    eine der lösungen ist (weil die warnung ja lautet):
    Warning: Cannot modify header information - headers already sent by (output started at /home/webpages/lima-city/davy/html/adler-frankfurt/index.php:7) in /home/webpages/lima-city/davy/html/adler-frankfurt/login/lib/um.class.php on line 68

    decto on line 69

    decto on line 70
    in der datei 'index.php' gleich am anfang fügst 'ob_start ();' in eine zeil ein. das mit dem header umschreiben musst du rückgängig machen. reinster unsinn.

    ==== edit:
    die seite verursacht eine wahre lawine an css-fehlermeldungen. fällt nicht sehr positiv auf. verstopft jeden browser.
    auch der titel ist etwas unglücklich gewählt.


    OK.

    Refresh ist weg. ob_start (); ist drin.

    Jetzt sind die Fehlermeldungen weg.

    Danke !
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!