cookies setzen...

alexorg

Mitglied
hallo,

also ich brings gleich mal auf den punkt...

also ich habn script mit login, welches ich include....

nun kommt dann das feld wo man passwort und benutzername eingeben muss... geb ich ein alles o.k dann komm ich ins admin menü... sobald ich da dann aber nen link anklicke komme ich gleich wieder auf die seite mit dem einlog feld. ich denke mal es liegt an den cookies denn die setzt er irgendwie gar nicht...

hier mal der teil des codes der dafür verantwortlich ist:

PHP:
<?
include("inc/files_mysql.inc");
mysql_connect("$conn_ip","$conn_user","$conn_pw");
mysql_select_db("$conn_db");
unset($login_user);
$username = $HTTP_COOKIE_VARS['gedl_username'];
$passwort = $HTTP_COOKIE_VARS['gedownpasswort'];
if($login_username) $username = $login_username;
if($login_passwort) $passwort = $login_passwort;
unset($login_user);
$i = 0;
if($username && $passwort) {
	$result = mysql_query("SELECT user,passwort,type FROM ".$tabellenprefix."_user WHERE user='".$username."'");
	if(@mysql_num_rows($result) == 1) {
		$zeile = mysql_fetch_array($result);
		if($zeile['passwort'] == $passwort) {
			$login_user = $zeile['user'];
			$login_rechte = $zeile['type'];
			if($HTTP_COOKIE_VARS['gedl_username'] != $username OR $HTTP_COOKIE_VARS['gedownpasswort'] != $passwort) {
				setcookie("gedl_username",$username,time()+30240000,"","");
				setcookie("gedownpasswort",$passwort,time()+30240000,"","");
			}
		} else {
		echo "Falsches passwort !";
		}
	}
	@mysql_free_result($result);
}
unset($zeile);

if($action == "logout") {
setcookie("ge_username","",time()-30240000,"","");
setcookie("genewspasswort","",time()-30240000,"","");
unset($login_user);
}

nun denke ich auch das es am includen liegt...
hab ja gehört vorm setzen von cookies darf kein html output stattfinden ... aber wie mach ich das sonst?
 
Hm, wo ist das Problem? Was wird denn vorher an den Browser ausgegeben? Lösung: einfach nix ausgeben lassen ;) Den Cookie also als erstes setzen lassen!!!
 
ja, aber wie mache ich das, wenn ich das script include...
soll ich dann den teil wo die cookies gesetzt werden gan oben in die datei schreiben von der aus includet wird?
 
guuut das funktioniert nun :)
nun noch eine frage, wie kriege ich es hin, dass das passwort in der cookie datei verschlüsselt wird... also bei mir wird das passwort nun im klartext im cookie angezeigt... das möchte ich aber nicht :)

//edit:

funktioniert irgendwie doch nicht...
jetzt funktioniert die passwortabfrage gar nicht mehr...
jetzt brauch man nur noch auf login klicken und man ist freinne (ohne ein passwort eigegeben zu haben :( )

hier mal der code:

PHP:
<?
include("inc/files_mysql.inc");
mysql_connect("$conn_ip","$conn_user","$conn_pw");
mysql_select_db("$conn_db");
unset($login_user);
$username = $HTTP_COOKIE_VARS['gedl_username'];
$passwort = $HTTP_COOKIE_VARS['gedownpasswort'];
if($login_username) $username = $login_username;
if($login_passwort) $passwort = $login_passwort;
unset($login_user);
$i = 0;
if($username && $passwort) {
	$result = mysql_query("SELECT user,passwort,type FROM ".$tabellenprefix."_user WHERE user='".$username."'");
	if(@mysql_num_rows($result) == 1) {
		$zeile = mysql_fetch_array($result);
		if($zeile['passwort'] == $passwort) {
			$login_user = $zeile['user'];
			$login_rechte = $zeile['type'];
			if($HTTP_COOKIE_VARS['gedl_username'] != $username OR $HTTP_COOKIE_VARS['gedownpasswort'] != $passwort) {
			}
		} else {
		echo "Falsches passwort !";
		}
	}
	@mysql_free_result($result);
}
unset($zeile);

if($action == "logout") {
setcookie("ge_username","",time()-30240000,"","");
setcookie("genewspasswort","",time()-30240000,"","");
unset($login_user);
}

// passwort ändern mit cookies
if($submit_passwort == "speichern" AND $login_user) {
	if($new_passwort == $new2_passwort) {
		if(mysql_query("UPDATE ".$tabellenprefix."_user SET passwort='$new_passwort' WHERE user='$login_user'")) {
			$passwort_aendern_erfolg = "1";
			setcookie("genewspasswort",$new_passwort,time()+30240000,"","");
		} else echo "<b>Fehler</b>";
	} else echo "<b>Die Passwörter stimmen nicht überein.</b>";
}

?>

also der cookie wird auch gar nicht gesetzt... keine ahnung wieso... es kommt aber auch keine fehlermeldung :(

thx,

alex
 
Zuletzt bearbeitet:
Zurück