[PHP & MySQL] Login mit PHP und Sessions

.Mietzili
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:

<?php
session_start();
include("datenbank.php");
?>
<html>
<head>
 <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
if(!empty($_POST["username"]) && !empty($_POST["password"])) 
{

$username $_POST["username"]; 
$passwort $_POST["password"]; 

$abfrage mysql_query("SELECT name, passw FROM login WHERE name = '$username' LIMIT 1");
$daten mysql_fetch_array($abfrage);

if($daten[passw] == $passwort)
    {
    $_SESSION["name"] = $username; 
    echo "Login erfolgreich! <br> <b><a href="intern.php" target="_self">Weiterleitung</a></b>";
    } 
else 
    { 
    echo "Benutzername und/oder Passwort waren falsch. <br><a href="login.php">Login</a>";
    }
}
else
    {
    echo "Bitte fülle alle Felder aus! <br><a href="login.php">Zurück</a>";
}

?>
</body>
</html>
Kuhmuhphu
Kannst dus bitte in [*PHP] [/*PHP] ohne die * setzten?
.Mietzili
sorry x3
bin grad etwas neben mir
.Mietzili
Zitat:
Original von Vroni
Und was genau funktioniert jetzt nicht? Der Link? Existiert denn die intern.php?


Ja der Link funktioniert nicht, ich hab die intern.php seite schon komplett eingerichtet.. aber die Weiterleitung klappt nicht
.Mietzili
Problem gelöst großes Grinsen
Mal ne Frage aber noch kann man für die Weiterleitung auch n Java script zur aktualisierung des menüs nehmen?
SchatZzii <3
mein phpadmin sieht irgendwie anders aus .-.
da gibs auch kein auto_increment

was soll ich nun machen ? >.<
.chilli
Bei mir hat sich auch ein Problem aufgetan. Ich kann mir zwar einloggen, nur wird mir immer die Fehlermeldung "Diese Seite ist nur für Mitglieder verfügbar."

login.php
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
<html>
<head>
 <link rel="stylesheet" type="text/css" href="style.css">
 </head>
 <body>
 <h3>Login</h3>
<form action="start.php?sec=login_action" method="post">
Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br> <br>

<input type="submit" value="Login">
</form>
</body>
</html>


checkuser.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<?php 
session_start(); 

if(!isset($_SESSION["name"])) 
   { 
   echo "Diese Seite ist nur für Mitglieder verfügbar.<br><i>Bitte <a href="index.php">einloggen</a>!</i>";
   exit; 
   } 
?>


start.php
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php include("checkuser.php"); ?>
<html>
<head>
<title>interner Bereich</title>
</head>
<body>
<div style="text-align: center;">Hallo Anna,<br>
<br>
hier hast du die Möglichkeit Pferde einzutragen. Änderungen sind
momentan nur in phpMyAdmin möglich.<br>
<br>
Viel Spaß noch!</div>
</body>
</html>
Kuhmuhphu
@miss_zorroline
Brauchst du noch hilfe?
Wenn ja, dann am besten einmal login_action posten
.chilli
Ja, brauche ich noch traurig

login_action.php
hab da eigentlich nur die Links geändert
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
<?php
session_start();
include("db.php");
?>
<html>
<head>
 <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
if(!empty($_POST["username"]) && !empty($_POST["password"])) 
{

$username $_POST["username"]; 
$passwort $_POST["password"]; 

$abfrage mysql_query("SELECT name, passw FROM mitglieder WHERE name = '$username' LIMIT 1");
$daten mysql_fetch_array($abfrage);

if($daten[passw] == $passwort)
    {
    $_SESSION["name"] = $username; 
    echo "Login erfolgreich! <br> <i><b><a href="start.php" target="_self">zum Login-Bereich</a></b></i>";
    } 
else 
    { 
    echo "Benutzername und/oder Passwort waren falsch. <br><i><a href="index.php">zur&uuml;ck zum Login</a></i>";
    }
}
else
    {
    echo "Bitte fülle alle Felder aus! <br><i><a href="index.php">Zurück</a></i>";
}

?>
</body>
</html>
.chilli
Problem besteht weiterhin
.chilli
Sorry fürs Nerven, aber es klappt immer noch nicht.
kext
Müsste hier

<form action="start.php?sec=login_action" method="post">

nicht

<form action="login_action.php" method="post">

stehen?

Oder hast du start.php so umgebaut, dass das so funktioniert?
.chilli
Das stand so in der downloadbaren "login_action.php". Jetzt geht's.

Jetzt habe ich noch eine Frage: Der Login funktioniert jetzt, es erscheinen jedoch zwei Meldungen. Weiß jemand was das bedeutet?
code:
1:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web576/html/Rothe/intern/login_action.php on line 18

code:
1:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
BabyHanah
Edit.
TBgirl
Zitat:
Original von brain_surgery
Fischii's Tutorial - Daraus ließe sich zum Beispiel eine automatische Registrierung für Mitglieder ableiten


da steht nix mehr unglücklich unglücklich unglücklich
brain_surgery
@TBgirl: Das haben wir den ganzen Account- und Postlöschungen zu verdanken...:/
Ich kann leider in dem Fall nichts anderes machen als die Links zu entfernen. Schwacher Trost: Momentan arbeite ich aber an einem recht umfassendesn PHP-Tutorial, das füllt dann vielleicht bald die Lücke. =)
EDIT: Geschafft, hier zu lesen: (klick)

@Thread: Ich werd auch nochmal die Dateien bearbeiten, da haben sich offensichtlich ein paar Fehler eingeschlichen, sorry für die Umstände und danke an alle die geholfen haben! :)