• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[Hilfe] Login System Fehler

Sprite

Neues Mitglied
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 Teil -->
<?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';

    }
?>


<!-- HTML Login Bereich -->

    <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>
Bitte, ich brauch eure Hilfe. :sad:

MfG Sprite.
 
Werbung:
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;
 
Werbung:
Das ist ja ganz gut und schön, nur jetzt gehts nimmer xD

Ich zeig euch wie ich es gerade gemacht habe

admin.php

<!-- HTML Login Bereich -->

<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>

adminbereich.php

<!-- PHP Teil -->
<?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');
 
och! Danke Ich werde es sofort Ausprobieen. :)

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


&& mermshaus mann brauch kein session_start(); ;)
 
Werbung:
DarkWarrior schrieb:
Eine Datei mittels include in sich selbst einzubinden sollte afaik doch garnicht funktionieren?

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

PHP:
<?php

error_reporting(-1);

echo "Foo<br>\n";

if (empty($noRecursion)) {
    for ($i = 0; $i < 2; $i++) {
        $noRecursion = true;
        include __FILE__;
    }
}

Sprite schrieb:
mann brauch kein session_start();

Mal angenommen, du hast keinen sehr speziell konfigurierten Server: Abwarten. ;)
 
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
 
Zuletzt bearbeitet:
Der Aufruf von session_start() muss vor der ersten Ausgabe (echo, HTML-Code, …) an den Browser erfolgen, da dort Header gesetzt werden.

- PHP: md5 - Manual

MD5 ist aber keine Verschlüsselung (nicht rückführbar), sondern ein Hashing-Verfahren.
 
Werbung:
Ich habs ausprobiert. Und Funktioniert wie immer nich bei mir ^^

Code:
<!-- PHP Teil -->
<?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';

    }

?>

Kann da nochmal jemand nachschauen? MFG
 
PHP:
$passwort == md5("32112bed1914cfe3799600f962750b1d"

=>

PHP:
md5($passwort) == "32112bed1914cfe3799600f962750b1d"

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