einen login mit php

Hallo ich möchte einen Login mit php haben mit benutzernamen und passwort.Hierzu habe ich ein paar ältere einträge hier im forum gefunden aber nicht ganz verstanden.Könnte mir jemand den ganzen code mal geben oder mir es mal erklären?

Hallo! Ich kann dir helfen, ein Login zu erstellen, allerdings nicht mit Datenbank. Das Passwort würde dann direkt im Quellcode stehen(den der Benutzer aber nicht sieht). Ich weiß nicht, ob das deinen Vorstellungen entspricht.

Zeig mir mal den code!

login.php:
[PHP]<?php setcookie('test',"1",0,"/"); //Testcookie setzten header("Location:./");?>[/PHP]

index.php:
[PHP]<?php error_reporting(-1); ini_set('display_errors', 1); //Fehler ausgeben $error=""; if(isset($_COOKIE['test'])!=true) {echo "";} if(!empty($_POST['name'])&&!empty($_POST['login'])) //Eingabefelder ausgefüllt? {if($_POST['name']=="dein_name"&&$_POST['login']=="dein_passwort") {setcookie('uspw','kD4l2ioFf9EdoC9sy',0,'/'); setcookie('name',$_POST['name'],0,'/'); {if(isset($_COOKIE['direct'])==true) //wenn der Pfad-Cookie gesetzt wurde {header("Location:{$_COOKIE['direct']}");} //zuvor aufgerufene Seite öffnen else {header("Location:../startseite/index.php");} //auf Startseite umleiten } } else {$date=date('j.m.Y-H:i:s'); $datafile = fopen("./failed.txt", "a+"); fwrite ($datafile,$date." + ".$_POST['name']." + ".$_SERVER['REMOTE_ADDR']." + ".$_POST['login']."\r\n"); fclose ($datafile); $error="


Der Benutzername oder das Passwort ist falsch!!!
";} //Passwort/Username war falsch } ?>

Benutzername:
Passwort:
<?php echo $error; ?> [/PHP]Wenn etwas unklar ist, nachfragen.

Grüße
Stromi
*EDIT: Das Ganze ist natürlich von der Verbindung her ziemlich unsicher. Das lässt sich aber über SSl lösen.

Was ist login.php?Ist das die datei wo die benutzer bzw. die passwörter drin stehen?

ach so: Login.php ist die Datei, die aufgrufen wird, bevor auf index.php zugegriffen wird. Diese setzt ein Cookie, einfach nur um zu testen, ob der User Cookies zulässt.
Ob der Cookie dann gesetzt wurde oder nicht, wertet dann die index.php-Datei aus und gibt ggf. eine Fehlermeldung aus.
[PHP] if(isset($_COOKIE[‚test‘])!=true)
{echo „“;}[/PHP]

Wie und wo muss ich Login.php abspeichern?
Wo trage ich die Passwörter ein?

$PHP_SELF? Was du meinst, ist wohl eher $_SERVER[‚PHP_SELF‘]; - aber nur eine Variable in das action Attribut rein setzen nützt nichts, da fehlt auch ein Sprachkonstruktor.

[PHP][/PHP]

Ich versteh das alles nicht aber ich habe noch was anderes im Internet gefunden das sieht so aus (was ist falsch???)

titel <?php include("pwd.php"); if (($benutzer == "$user") and ($passwort == "$pass")) { echo "Login erfolgreich!"

okay, ganz langsam. die login.php liegt einfach im selben ordner wie die index.php-Datei.

Wenn du dir denn Quellcode anschaust, wirst du sehen, wo die Namen einzutragen sind, denn die Stelle ist markiert.

Noch mal in ganz einfacher Form der Code:
[PHP]<?php error_reporting(-1); ini_set('display_errors', 1); //Fehler ausgeben $error=""; if(isset($_COOKIE['test'])!=true) {echo "";} if(!empty($_POST['name'])&&!empty($_POST['login'])) //Eingabefelder ausgefüllt? {if($_POST['name']=="dein_name"&&$_POST['login']=="dein_passwort") {setcookie('uspw','kD4l2ioFf9EdoC9sy',0,'/'); setcookie('name',$_POST['name'],0,'/'); header("Location:../startseite/index.php"); //auf Startseite umleiten } else {$error="Der Benutzername oder das Passwort ist falsch!!!";} //Passwort/Username war falsch } ?>

Benutzername:
Passwort:
<?php echo $error; ?> [/PHP] Dann musst du nur noch in jeder Datei, die Pw-Geschützt sein soll abfragen ob der Cookie uspw gesetzt ist und den Inhalt kD4l2ioFf9EdoC9sy hat. wenn dem nicht so ist, leitet die Seite einfach wieder auf login.php um.

Das liegt daran, was in pwd.php drinne steht.

titel <?php include("pwd.php"); if (($benutzer == "$user") and ($passwort == "$pass")) { echo "Login erfolgreich!"

Diese eine Datei wird dir wohl nicht helfen. Es hängt davon ab, wie die anderen Datein aussehn. (pwd.php/link ?area=includes&do=test’)

Jetzt ist es mir klar aber bei der index.php datei ist im browser oben der gasamte javascript teil zu sehn.
Ich wollte als alternative so ein ahnlichen login wie bei der Seite.Da ich mich gar nicht mit php auskenne bin ich auf deine Hilfe angewiesen!!!
Klassenbereich

was hast du für ein Browser?

Zu der Klassenseite:
[PHP]
if(!empty($_POST[‚name‘])&&!empty($_POST[‚login‘])) //Eingabefelder ausgefüllt?
{if($_POST[‚login‘]==„DEIN PASSWORT“) //Ist Das eingegeben Passwort das erwartete?
{setcookie(‚uspw‘,‚1‘,0,‚/‘); //Wenn ja: setzte einen Cookie, der speichert, dass das passwort richtig war
header(„Location:./DEINPFAD/DEINESTARTSEITE.PHP“);} //Gehe zu der Startseite der PW geschützten seite (Pfad muss von dir angegeben werden)
else //wenn nicht:
{echo „Das Passwort war falsch!“;} //gebe Das Passwort ist falsch aus

[/PHP]Das schreibst du in eine Datei die sich login.php nennt. Alles Was GROß geschrieben ist, sind Angaben die du einsetzten musst. Und in jede Seite, die du passwortgeschützt haben willst, setzt du einfach noch an den Anfang folgendes:

[PHP]

<?php $code=$_COOKIE['uspw']; //überschreibe den Wert des Cookies uspw(gesetzt in der Logindatei wenn pw richtig in die variable code if($code=='1') //wenn code gleich ist, dann bleibe auf der seite {} else{header("Location:DER_PFAD_ZU_LOGIN.PHP/login.php");} //sonst leite auf den Login um. ?>

[/PHP]Ich hoffe es läuft und ist verständlich. Ich muss jetzt weg.
*EDIT: wenn noch fragen sind: frag! Ich melde mich dann noch mal!

Browser:Mozilla Firefox

ooh. Okay, ich weiß nicht, warum der Browser den JavaScriptteil nicht ausführen wollte…

Ist der Code verständlich gewesen?

Welches JavaScript? Ich seh auf der Seite keines? Oo

Er/Wir reden von dem Code auf Seite 1. Der oben genannte ist eine wesentlich vereinfachte Form von dem aus der 1.Seite.

So einen Cookietest kann man imho mit php nicht sauber definieren. Schau dir mal dieses JavaScript dazu an:
Free Scripts: Javascript Check Cookies Enabled

Das ist bei mir jetzt gelöst da ich eine andere methode nehme aber die funktioniert noch immer nicht!