Login Problem (cookie)

kcyberbob

Erfahrenes Mitglied
Hallo zusammen,

ich bin gerade dabei eine Webseite zu erstellen wo man sich registrieren kann und dann bekommt man bestimmte Services zB. Gästebuch, Newssystem usw.

Also zB. über die Domain http://www.diedomain.de/gbook/index.php?accountnr=000001
Ich hoffe ihr hab es bis jetzt verstanden.
Mein Problem liegt darin, daß sich der user auf seinem Gästebuch einloggen kann um gewisse einstellungen zu tätigen.
Die Logindaten so wie Username, Passwort und Accountnummer wird dann in einem Cookie gespeichert.

Jetzt will ich aber das wenn ich auch das Gästebuch von einem anderen komme
also http://www.diedomain.de/gbook/index.php?accountnr=000002
das er dann schreibt das er nicht für dieses gästebuch eingellogt ist
Weil natürlich accountnr im Cookie und die accountnr im Browser nicht über einstimmt.

Aber das funtioniert bei mir überhaupt nicht so wie es soll.

Vielleicht könnt ihr mit da weiter helfen.

Hier sind jetzt mal ein paar code auszüge aus meinen seiten:

das wird ausgeführt wenn man das login formular abgeschickt hat
PHP:
if ($action =="login") {

if (!isset($newssystem_username) && !isset($newssystem_password) && !isset($newssystem_accountnr)) {
    if (isset($username) && isset($password) && isset($accountnr)) {
           		  $result = mysql_query("SELECT * FROM userdata WHERE username='$username' && password='$password' && accountnr='$accountnr'");
	        	  if(mysql_num_rows($result) == 0 ) {
printbody($accountnr);
       infotxt("Username oder Passwort ist falsch", "$accountnr");
	   exit;		
				  }   
				  else {
			            $cookie = mysql_fetch_object($result);
			            $newssystem_username = $username;
			            $newssystem_password = $password;
			            $newssystem_accountnr = $cookie->accountnr;
								   
			            setcookie("newssystem_username", $newssystem_username, time() + 5616000);
			            setcookie("newssystem_password", $newssystem_password, time() + 5616000);
			            setcookie("newssystem_accountnr", $newssystem_accountnr, time() + 5616000);		   

                  } 
      } 
		  
}

jumpto ("admin.php?accountnr=$accountnr");
}

das steht am anfang der admin.php
PHP:
if(!$_COOKIE['newssystem_username'] && !$_COOKIE['newssystem_password'] && !$_COOKIE['newssystem_accountnr']) {
 
printbody($accountnr);

infotxt ("Username und Passwort sind falsch!", "$accountnr");
}
else {
if($_COOKIE['newssystem_accountnr'] != $accountnr) {
printbody($accountnr);

infotxt ("Username und Passwort sind falsch!", "$accountnr");
exit;
}
if (isset($accountnr)) {
		$result = mysql_query("SELECT * FROM newssystem_options WHERE accountnr='$accountnr'");
		if(mysql_num_rows($result) == 0) {
			$account = mysql_fetch_object($result);
           	errortxt("accountnummer ist falsch");	
		}
	
}
else {
       errortxt("accountnummer wurde nicht angegeben");		

}

//dann der inhalt der seite


Ich würde mich freuen, wenn ihr mir weiterhelfen könntet.

Gruß kcyberbob
 
Setzt er denn das Cookie überhaupt? Konfigurier mal deine php.ini so, dass dir alle Warnings und Notices ausgegeben werden. Da sagt er Dir dann z.B., ob dein Cookie gesetzt wurde. Weil ich glaube, dass du hier mit Deiner Funktion infotext() schon was sendest und dann kannste keine Cookies mehr schreiben.
 
Zurück