Login geht nicht immer wieder Startseite

Brian Folte

Angesehenes Mitglied
Hallo. Ich habe nun ein neues Problem. Und zwar wenn man sich einloggen will, dann kommt man immer wieder auf die Startseite zurück ohne das man eingeloggt ist. hier ist die seite wo ich es meine probiert es ruhig mal aus http://www.sms-4-all.com/
nun meinte jemand das liegt an der datenbank aber genau sagen konnte er mir das nun auch nicht. nun wollte ich euch mal fragen was da falsch sein könnte. liebe grüße brian
 
hierzu muß ich noch sagen, wenn man die richtigen daten also das passwort und den benutztername eingibt, dann leitet er einen nur wieder auf die startseite. gibt man aber was falsches ein, dann zeigt er einem an, das dieser benutzter nicht existiert.
 
Hmm, ich denke damit dir wirklich jemand helfen kann, musst du schon fast deine Loginprozedur oder whatever posten. Gründe für diese Verhalten kann es viele geben, wie Beispielsweise auch nicht gestartete Session, Scriptfehler etc etc..
 
@ brianberlin:

bitte programmierspezifische fragen nur mit angabe der betroffenen codezeilen! sonst muss ich diesen topic löschen.
 
so das hier ist die login datei:
CODE <?
include("./includes/config.php");

if ( $REQUEST_METHOD=="POST" )
{
if ($_POST["login"] == "" || $_POST["pass"] == "")
{
include("./includes/header.php");
echo "<p align=\"center\" class=\"text\"><b><br><br><br><br><br>Sie müssen Benutzername UND Passwort eingeben.</b></p>";
include("./includes/footer.php");
exit;
}
$result=mysql_query("SELECT id, aktiv FROM user WHERE login='$login' AND passwort='$pass' ");
$row=mysql_fetch_array($result);

if ( $row )
{
$_SESSION["id"] = $row["id"];
$_SESSION["aktiv"] = $row["aktiv"];
setcookie("cookie_login",$login,time()+(3600*24*30));
setcookie("cookie_pw",$pass,time()+(3600*24*30));
header("LOCATION: ./index.php");
exit;
}
else
{
include("./includes/header.php");
echo "<p align=\"center\" class=\"text\"><b><br><br><br><br><br>Kein Benutzer mit Ihrer Kennung gefunden.</b></p>";
include("./includes/footer.php");
exit;
}
}
else
header("LOCATION: ./index.php");
?>

 
Habe noch was rausbekommen, In der Datei für die Navigation, steht dies hier
<?
}
if (isset($_SESSION["id"]))
{
?>
wenn ich daran jetzt was veränder, oder es raus nehme, dann zeigt er mir alles an. nun soll es eigendlich so gehen:
1. Man sieht nur, wenn man nicht eingeloggt ist das normale Menu.
2. Wenn man sich einloggt dann soll man ein anderes Menu sehen mit seinen Daten
und genau das macht er nicht man kann sich halt nicht einloggen. Nun bin ich schon die ganze zeit auf der Problem suche, aber ich finde den Fehler einfach nicht. Habt ihr einen Tip für mich?Liebe Grüße Brian
 
Ich würde mal sagen dass es mit der Session happert. Setzte mal ein session_start(); an den Anfang des Scripts
 
Müsste es hier:QUOTE $result=mysql_query("SELECT id, aktiv FROM user WHERE login='$login' AND passwort='$pass' ");

nicht

CODE WHERE login=$_POST['login'] AND passwort=$_POST['pass']
usw. heissen?
 
Hi,

QUOTE Müsste es hier:
QUOTE
$result=mysql_query("SELECT id, aktiv FROM user WHERE login='$login' AND passwort='$pass' ");

nicht
CODE
WHERE login=$_POST['login'] AND passwort=$_POST['pass']
usw. heissen?


Ich denke das kommt drauf an, ob er register_globals auf "on" hat. Ist das der Fall, kann er mit diesen Variablen direkt auf die Inhalte von $_POST["login"] und $_POST["pass"] zugreifen.
Standardmässig ist diese Option aber wegen einigen Sicherheitsproblemen deaktiviert...

Greats,

S.B
 
Ich habe es mal so probiert
<?
}
if (isset($_session_start["id"]))
{
?>
aber so geht es auch nicht. oder meintet ihr es anders? Liebe Grüße Brian
 
ich hatte mal dasselbe problem mit asp seiten. mein provider musste was ändern was aus sicherheitsgründen so eingestellt war und dann gings.

ich nehme an dass stefan auf dem richtigen weg ist.

gruess

urs
 
Ich habe gestern mal bei meinem server nachgefragt und diese antwort hier bekommen:
Problem Session Start

Sehr geehrter Herr Folte,

register_globals ist bei uns auf On gesetzt.
Dies ist der Standardwert.
Da andere Anwendungen den Wert auf On benötigen, müssen wir uns an den Standard halten und die Einstellung so belassen.

Ich denke, Sie können das Problem umgehen, indem Sie die entsprechenden Passagen umschreiben.

Mit freundlichen Grüssen,


vielleicht kann einer von euch damit was anfangen und so mir weiterhelfen. liebe grüße brian
 
kann mir keiner helfen?
sad.gif
 
Also wie bereits gesagt muss am Anfangs des Skriptes (und auch auf jeder anderen Seite!) folgendes stehen:
CODE session_start();


Für die Abfrage, ob der User eingeloggt ist, wird dann häufig sowas benutzt:

CODE
if(isset($_SESSION['id']))
{
// code
}

 
Zurück
Oben