Frage wegen Sessions

Badgott

Erfahrenes Mitglied
Sers leute habe da mal nen paar fragen wenn ich eingelogt bin und dann mit nem iframe ne adere php Seite aufrufe da mus ich dann wie auch überall anders die session starten und schaune ob sie da ist oder? müste doch gehn dann habe ich noch ne frage ich habe mir sessions aus nem tut beigebracht was ist da die beste und sicherste methode damit mann 1. net 2 mal einlogen kann und das da nix doppelt ist ?
ich stare das imoment so SESSION_START();
SESSION_REGISTER('xxx1');
SESSION_REGISTER('xxx2');


THX Badgott
 
moin,


j0ps4 das geht schon! die session wird so übertragen also da brauchste auch nix irgendwie verlinken oder so ;) deine zweite frage versteh ich irgendwie nich! wieso soll man sich 2 mal einloggen? wenn man einmal drin ist dann hats sichs doch eigentlich erledigt... mach einfach ne abfrage ob die session gesetzt ist die du beim einloggen benutzt und wenn die gesetzt ist das man sich dann nich einloggen kann!
PHP:
session_start();

if (session_is_registered("xxx"))
{
  # code wenn man schon eingeloggt ist
  # z.b. willkommen $username oder so
}

else
{
  echo "login:\n";
  ...
}
schreib einfach in die sessions noch nen wert rein :D nennste die session z.b. user_eigeloggt die du setzt beim einloggen und dann
PHP:
session_register("user_eingeloggt",$deine_var_für_den_username);
und dann kannste den mit
PHP:
echo $user_eingeloggt;
ausgeben! (das wäre dann wie im beispiel "willkommen $user_eingeloggt" wenn man eingeloggt ist :D) ich hoffe das hat deine frage beantwortet weil me muss jetzt zur schule sonst komm ich zu spät :)


*winkewinke*
-slim0r-
 
Zuletzt bearbeitet:
hi ho....
nur mal ne keline anmerkung zum login......

es ist nicht so sinnvoll, nur zu testen, ob eine variable in der session übergeben wird oder nicht....

um einen sicheren login zu bekommen, ist es sinnvoller, immer nur loginname und passwort in der session zu speichern und dann auf jeder seite neu zu schauen, ob diese zutreffen oder net.......
 
nein das nicht......
war halt nur ein tip, wie man nen login generell machen sollte....

aber das geht natürlich auch:)
 
jo hab ich ja auch n bisel anders war nur so bespiel! ich kann ja hier mal mein login posten... ich weiß nich is der sicher?
PHP:
# login.php

<?php

session_start();

if ($action == "login")
{
	$result = mysql_query ("select * from user where (nickname = '$nickname') and (passwort = '$passwort')");
	$user = mysql_fetch_array($result);

	if (mysql_num_rows($result) > 0)
	{
		$user_eingeloggt = true;

		setcookie ("user",$nickname,time()+172800);
	}

	else
	{
		$user_eingeloggt = false;
	}

	if ($user['auth'] == "admin")
	{
		$admin = true;

		setcookie ("admin",$nickname,time()+172800);
	}

	else
	{
		$admin = false;
	}

	session_register ("user_eingeloggt");
	session_register ("admin");

	header ("location: index.php");
}

if ($action == "logout")
{
	setcookie ("user",$user,time()-216000);

	header ("location: index.php");
}

?>


# index.php

<?php

# ...
# anzeige *gg*

if (!isset($user))
{
	echo "Willkommen Anonymer! <a href=\"index.php?site=registrieren.php\" class=\"top\">Registrieren</a>";
}

else
{
	echo "Willkommen <b>".$user."</b>! <a href=\"login.php?action=logout\" class=\"top\">Logout</a>";
}

# ...
# user-/adminmenu

if ($user)
{
	if (session_is_registered("admin") and ($admin))
	{
		# adminmenu
	}

	else
	{
		# usermenu
	}

# ...

?>
is das sicher? macht mich jetzt nich feddich das teil benutz ich in meinem adminbereich bei http://www.bsc-lan.de :D bzw. bei der neuen homepage die irgendwann mal wieder online geht!


*winkewinke*
-slim0r-
 
Zuletzt bearbeitet:
Zurück