[Hilfe] Login System Fehler

Hallo HTML’er und PHP Künstler!

Ich habe mal einen PHP + HTML Login Geschrieben. (PHP NEWBIE) Aber er Funktioniert nicht. Wenn ich auf Einloggen drück leitet er wunderbar auf die adminbereich.php um. Aber wenn ich jetzt einen Falschen Benutzername oder ein Falsches Passwort Eingebe und mich Einloggen will, komm ich trozdem auf die adminbereich.php und es kommt keine Fehler meldung.

Hier der Code:

[CODE]

<?php // Einlogg-Daten für den Adminbereich $benutzer = $_POST['benutzer']; $passwort = $_POST['passwort']; // Daten werden überprüfft if ($benutzer == 'Username' && $passwort == 'Passwort') { $_SESSION[login] = true; // Einloggen header('Location: adminbereich.php'); } else { // Fehler beim Einloggen $_SESSION[login] == true; echo 'Fehler'; } ?>
<form method="post" action="adminbereich.php">
  <input type="text" name="benutzer" value="Username"><br>
  <input type="password" name="passwort" value="Passwort"><br>
  <input type="submit" value="Einloggen!">
</form>[/CODE]Bitte, ich brauch eure Hilfe. :sad:

MfG Sprite.

[FONT=monospace]Wenn du das Formular an den Adminbereich schickst, wirst du immer dort hin kommen :slight_smile:
[/FONT]

Wie heißt denn die PHP-Datei, die du da zeigst? Wahrscheinlich solltest du das Formular an die schicken (action-Attribut einfach leerlassen – action=„“), nicht an adminbereich.php. Ist das außerdem der komplette PHP-Code? Da fehlt wenigstens ein session_start();.

Das hier ist auch nicht ganz koscher:

[php] // Fehler beim Einloggen
$_SESSION[login] == true;[/php]

Das ist ja ganz gut und schön, nur jetzt gehts nimmer xD

Ich zeig euch wie ich es gerade gemacht habe

[B]admin.php

[/B]

<form method="post" action="adminbereich.php">
  <input type="text" name="benutzer" value="Username"><br>
  <input type="password" name="passwort" value="Passwort"><br>
  <input type="submit" value="Einloggen!">
</form>

[B]adminbereich.php

[/B]

<?php session_start(); // Einlogg-Daten für den Adminbereich $benutzer = $_POST['benutzer']; $passwort = $_POST['passwort']; // Daten werden überprüfft if ($benutzer == 'Username' && $passwort == 'Passwort') { $_SESSION[login] = true; // Einloggen include('adminbereich.php'); } else { // Fehler beim Einloggen echo 'Fehler'; } ?>

MfG

mach’s besser, wie mermshaus vorgeschlagen hat.

Eine Datei mittels include in sich selbst einzubinden sollte afaik doch garnicht funktionieren?
[php]// Einloggen
include(‚adminbereich.php‘);[/php]

och! Danke Ich werde es sofort Ausprobieen. :slight_smile:

//edit: Wunderbar, mein erste PHP Login funktioniert. :slight_smile:
Danke dir DarkWarrior! <3

&& mermshaus mann brauch kein session_start(); :wink:

Funktionieren schon, aber man muss natürlich höllisch aufpassen, dass sowas keine Rekursion ergibt.

[php]<?php

error_reporting(-1);

echo „Foo
\n“;

if (empty($noRecursion)) {
for ($i = 0; $i < 2; $i++) {
$noRecursion = true;
include FILE;
}
}[/php]

Mal angenommen, du hast keinen sehr speziell konfigurierten Server: Abwarten. :wink:

Sobald ich session_start(); einbau, kommt folgender PHP Fehl-Code:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /srv/**/n///adminbereich.php:2) in /srv/www/httpd/phost/c/at/pytalhost/chathilfen/web/admin/adminbereich.php on line 3

Noch eine Frage, wie verschlüsselt man ein Passwort nochmal mit MD5?

MfG

Der Aufruf von session_start() muss vor der ersten Ausgabe (echo, HTML-Code, …) an den Browser erfolgen, da dort Header gesetzt werden.

MD5 ist aber keine Verschlüsselung (nicht rückführbar), sondern ein Hashing-Verfahren.

okok danke :slight_smile:

Ich habs ausprobiert. Und Funktioniert wie immer nich bei mir ^^

[CODE]

<?php // Einlogg-Daten für den Adminbereich $benutzer = $_POST['benutzer']; $passwort = $_POST['passwort']; // Daten werden überprüfft if ($benutzer == 'Username' && $passwort == md5("32112bed1914cfe3799600f962750b1d")) { $_SESSION[login] = true; // Einloggen include('fehler.php'); } else { // Fehler beim Einloggen echo 'Fehler'; } ?>[/CODE]

Kann da nochmal jemand nachschauen? MFG

[php]$passwort == md5(„32112bed1914cfe3799600f962750b1d“[/php]

=>

[php]md5($passwort) == „32112bed1914cfe3799600f962750b1d“[/php]

Hintergrund: Du möchtest überprüfen, ob der MD5-Hash deiner Eingabe dem entspricht, was die korrekte Eingabe als MD5-Hash besitzt.

Danke Gelöst.