Login Fehler trotz richtiger Daten

Ahaaaa also bei der index.php wird geprüft ob der User sich bereits eingeloggt hat oder?

Und für was steht das

header('Location: login.php');

Ich würde das gern so machen, dass man zB eine datei aufruft datei.php wenn man nicht eingeloogt ist steht dort:
'Hallo'
Wenn man eingeloggt ist steht dort
'Hallo' (der selbe Inhalt)
<a href=....>edit</a>
...

Ein zusätzlicher Inhalt
 
genau. und wenn der User nicht eingeloggt ist, wird er durch den Befehl header('Location: login.php'); automatisch zur Loginseite weitergeleitet.

An der Stelle an dem der Inhalt stehen soll
einfach
if($_SESSION['user'])
{
... was halt hin soll
}

Die _authenticate.php kannst du dir dann im Prinzip sparen. Ich dachte du wolltest dem komplett den Zugriff sperren.
Du musst dann halt einen Link zur login.php setzen.

mfg,
ZZZottel
 
Jez bin ich 100% verwirrt :D

Oke also autenticate kann ich ma sparen und emm hä?
Kannst du da nochmal den Code anschreiben please, dass ich eine Page habe die normal erscheint und wenn eine Session überprüft wird und der User eingeloggt ist, steht ein bisschen extra-Inhalt zum normalen Inhalt dazu

UNd eben eine login.php die eine Session erstellt die man dann auf anderen Pages aufrufen kann
 
hier die seite mit extra inhalt:

PHP:
<html>
...
<body>
Inhalt
<?php
// Extrainhalt
if($_SESSION['user']) 
{ 
   ... was halt hin soll 
}
// Nicht eingeloggt
else print('<a href="login.php">Hier</a> können Sie sich einloggen'); 
?>

</body>
</html>

Das login script bleibt gleich.

mfg,
ZZZottel
 
Also im Moment schaut es so bei mir aus: und funktioniert nicht!
Wenn ich mich mit richtigen Daten einlogge kommt wieder die login.php, es passiert also nichts

PHP:
<?
 session_start();
// Formular wurde abgeschickt
if($HTTP_POST_VARS["action"])
{
    // Hier die Datenbankabfrage
// Verbindung herstellen und Datenbank auswählen
$connect = mysql_connect("localhost","es","es11");
        mysql_select_db("es",$connect);
// Anzahl der übereinstimmenden Datensätze
$result = mysql_query("select count(*) from test where username = '$name' and password = '$passwort'");
$row = mysql_fetch_row($result);
mysql_close();
    
    // Gibt es den User?
    if($row[0])
    {
        session_register('user');
        session_register('password');
        include_once("insert.php");
        return 0;        
    }    
}
?>
<HTML>
<BODY>
<form action="<?$PHP_SELF?>" method="POST">
<INPUT type="text" name="user"><br>
<INPUT type="text" name="password"><br>
<input type="submit" name="action" value="Login"><br>
</form>
</BODY>
</html>
 
Hm leider funtkioniert dadurch das script trotzdem nicht...
Kommt immer wieder die login.php (wo mich vorher eh gerade eingeloggt habe)
 
Ich poste mal alles an Code:

die login.php:
PHP:
<?
 session_start();
// Formular wurde abgeschickt
if($HTTP_POST_VARS["action"])
{
    // Hier die Datenbankabfrage
// Verbindung herstellen und Datenbank auswählen
$connect = mysql_connect("localhost","es","es11");
        mysql_select_db("es",$connect);
// Anzahl der übereinstimmenden Datensätze
$result = mysql_query("select count(*) from test where username = '$name' and password = '$passwort'");
$row = mysql_fetch_row($result);
mysql_close();
    
    // Gibt es den User?
    if($row[0])
    {
        session_register('user');
        session_register('password');
        header("Location: insert.php");
        return 0;        
    }    
}
?>
<HTML>
<BODY>
<form action="<?$PHP_SELF?>" method="POST">
<INPUT type="text" name="user"><br>
<INPUT type="text" name="password"><br>
<input type="submit" name="action" value="Login"><br>
</form>
</BODY>
</html>

Die insert.php:
PHP:
<?
   $connect = mysql_connect("localhost","es","es11");
   mysql_select_db ("es",$connect);
   $result = mysql_query("SELECT username FROM login ORDER BY username ASC",$connect);
   $anzahl = mysql_num_rows($result);


   while ($myrow = mysql_fetch_object($result)) {
   echo $myrow->username;
   echo "<br>";
   }
   echo "<br>";
   echo "Anzhal der User:";
   echo $anzahl;
   echo "<br>";
   echo "<br>";
   echo "<br>";
?>

So das ist alles was mit dem Script zu tun hat (recht einfach gehalten, solang das Prinzip ned funktioniert)
 
Die SQL Abfrage ist auch falsch

$result = mysql_query("select count(*) from test where username = '$name' and password = '$passwort'");

die Variable heißt nicht $name, sondern $user.
 
Zurück