Hi!
Habe gestern in einem Test festgestellt, dass mein logged_in() nur in Firefox sauber funktioniert. Basiert auf Login-Tutorial von Mr Happiness.
Nach geglücktem Login, rufe ich auf den folgenden Seiten, die Funktion logged_in() auf, um zu prüfen, ob er User eingeloggt ist. Bspw. die Datei 'auftragsformular.php'. Der erste Aufruf dieser Seite klappt und es werden mir verschiedene Auftragsmöglichkeiten angezeigt. Wenn ich davon eine auswähle, wird die Seite erneut aufgerufen und mittels Prüfung $_GET-Variablen ein anderer Teil des Skripts ausgeführt. Aber in IE und Opera werde ich plötzlich ausgeloggt! ???
in der sessionhelpers.inc.php steht
in der auftragsformular sieht es so aus:
in der auftragshelpers.php liegt die Funktion baueauftragsform()
Könnte es Probleme mit irgendwelchen Sicherheitseinstellungen in den o.g. Browsern geben oder gibt es ein Problem mit einem Skript oder dem Aufbau dieser Geschichte?
Woran könnte es liegen?
Bin wie immmer dankbar für eure Tipps!
Habe gestern in einem Test festgestellt, dass mein logged_in() nur in Firefox sauber funktioniert. Basiert auf Login-Tutorial von Mr Happiness.
Nach geglücktem Login, rufe ich auf den folgenden Seiten, die Funktion logged_in() auf, um zu prüfen, ob er User eingeloggt ist. Bspw. die Datei 'auftragsformular.php'. Der erste Aufruf dieser Seite klappt und es werden mir verschiedene Auftragsmöglichkeiten angezeigt. Wenn ich davon eine auswähle, wird die Seite erneut aufgerufen und mittels Prüfung $_GET-Variablen ein anderer Teil des Skripts ausgeführt. Aber in IE und Opera werde ich plötzlich ausgeloggt! ???
in der sessionhelpers.inc.php steht
PHP-Code:
function check_user($username, $userpass)
{
$sql = "SELECT `UserID` FROM `users` WHERE `NickName`='".$username."'
AND `UserPass`=MD5('".$userpass."') LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result)==1)
{
$user = mysql_fetch_assoc($result);
return $user["UserID"];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE `users` SET `UserSession`='".session_id()."' WHERE `UserID`=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT `UserID` FROM `users` WHERE `UserSession`='".session_id()."' LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE `users` SET `UserSession`=NULL WHERE `UserSession`='".session_id()."'";
mysql_query($sql);
}
PHP-Code:
session_start();
include 'incs/sessionhelpers.inc.php';
include 'incs/auftragshelpers.php';
baueauftragsform();
PHP-Code:
function baueauftragsform()
{
if (!logged_in()) showlogdivs();
else
{
if ($_GET['ordertyp'] == '')
{
echo "<p>Wählen Sie zunächst eine Auftragsart aus.</p>\n";
echo "<p><a href='auftragsformular.php?ordertyp=basis'>Auftrag 1</a></p>\n";
echo "<p><a href='auftragsformular.php?ordertyp=pro'>Auftrag 2</a></p>\n";
}
elseif ($_GET['ordertyp'] == 'zusatz')
{
echo "<p>Sie wünschen Zusatzleistungen.</p>\n";
echo "<p>Zurück zur <a href='auftragsformular.php'>Auftragsauswahl</a>.</p>\n";
}
else
{
echo "<p>Sie haben das folgende Paket ausgewählt:</p>";
echo "<form method='post' action='auftragsenden.php'>
<input type='hidden' name='ordertyp' value='".$_GET['ordertyp']."' />
<input type='submit' name='submit' value='Bestellen' /></form>";
}
}
}
Woran könnte es liegen?
Bin wie immmer dankbar für eure Tipps!
Kommentar